读书人

std:auto_ptr的有关问题

发布时间: 2013-12-15 22:17:19 作者: rapoo

std::auto_ptr的问题
面试宝典里的。std::auto_ptr<object>sourse(){return new object;}说是“从new object 构造出auto_ptr<object>”麻烦详细讲讲什么意思
[解决办法]

引用:
Quote: 引用:

你具体哪里不懂 我感觉说的挺清楚的

std::auto_ptr<object>sourse(){return new object;}
我理解是:类(智能指针)std::auto_ptr包含了类object,后面sourse(){return new object;}不知道什么意思
又比如std::auto_ptr<object>p (new object);就是名字叫p的auto_ptr包含了object,并且创建了空间(未初始化)

不,这是一个函数的实现,你再好好看看

std::auto_ptr<object> sourse(){
return new object;
}

[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

你具体哪里不懂 我感觉说的挺清楚的

std::auto_ptr<object>sourse(){return new object;}
我理解是:类(智能指针)std::auto_ptr包含了类object,后面sourse(){return new object;}不知道什么意思
又比如std::auto_ptr<object>p (new object);就是名字叫p的auto_ptr包含了object,并且创建了空间(未初始化)

不,这是一个函数的实现,你再好好看看

std::auto_ptr<object> sourse(){
return new object;
}

函数的new object 和 std::auto_ptr<object>是什么关系?std::auto_ptr<object>到底是什么类型?
模板类我不太懂


std::auto_ptr<***>是标准库提供的智能指针,***是你要存放的类型。
这个指针时管理资源用的,可以是我们new之后不必调用delete
具体可以参考effective c++
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

你具体哪里不懂 我感觉说的挺清楚的

std::auto_ptr<object>sourse(){return new object;}
我理解是:类(智能指针)std::auto_ptr包含了类object,后面sourse(){return new object;}不知道什么意思
又比如std::auto_ptr<object>p (new object);就是名字叫p的auto_ptr包含了object,并且创建了空间(未初始化)

不,这是一个函数的实现,你再好好看看

std::auto_ptr<object> sourse(){
return new object;
}

函数的new object 和 std::auto_ptr<object>是什么关系?std::auto_ptr<object>到底是什么类型?
模板类我不太懂


std::auto_ptr<***>是标准库提供的智能指针,***是你要存放的类型。
这个指针时管理资源用的,可以是我们new之后不必调用delete
具体可以参考effective c++

std::auto_ptr<object> sourse(){
return new object;
}难道说std::auto_ptr<object>和object类型是等同的吗

不是,它是对指向object的指针的封装,一种RAII机制
读一下《effective c++》第三版,条款13,20分钟就能理解

读书人网 >C语言

热点推荐