您的位置:首页 > 其它

智能指针

2014-07-17 16:58 232 查看
1、std::auto_ptr:来自标准库

2、smart_ptr:来自Boost,在Boost中的智能指针有:

 a. scoped_ptr,用于处理单个对象的唯一所有权;与std::auto_ptr不同的是,scoped_ptr可以被复制。

 b. scoped_array,与scoped_ptr类似,但是用来处理数组的

 c. shared_ptr,允许共享对象所有权

 d. shared_array,允许共享数组所有权

 

auto_ptr:http://blog.csdn.net/yipingfangmi/article/details/5452052

需要注意的点:不支持数组(析构函数是delete不是delete[])、不适合stl容器、不能用于管理栈上的对象、所有权的转移。

// 不能用于管理栈上的对象,以下用法是错误的
int a;
std::auto_prt<int> myPrt(&a);


share_ptr:http://blog.csdn.net/yusiguyuan/article/details/37101633
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  智能指针