C++智能指针
来源:互联网 发布:java开发图书管理系统 编辑:程序博客网 时间:2024/05/21 17:45
(1)std::auto_ptr<T>
存储内容: 单个指针(new 分配)
指针特性: 可复制(但同时必定转移所有权),不能用于STL 容器中。
总之,建议不要使用,除非很简单的使用。
(2)boost::scoped_ptr<T>
存储内容: 单个指针(new 分配)
删除时机: scoped_ptr 析构时,或是通过显式地调用reset 方法,其生命期相当于局部变量。
指针特性: 不可复制,不能用于 STL 容器中。
(3)boost::scoped_array<T>
存储内容: 指针数组(new[] 分配)
其他方面与 scoped_ptr 相同。
(4)boost::shared_ptr<T>
存储内容: 单个指针(new 分配)
删除时机: 最后一个 shared_ptr 析构时,或是通过显式地调用reset 方法。
指针特性: 可复制可赋值,可用于 STL 容器,可用于多线程环境。
boost中最常用的智能指针,使用引用计数来维护。
(5)boost::shared_array<T>
存储内容: 指针数组(new[] 分配)
其他方面与 shared_ptr 相同。
(6)boost::weak_ptr<T>
存储已由 shared_ptr 管理的对象的弱引用。
指针特性: 可复制可赋值,可用于 STL 容器。
共享一个share_ptr的内存,但是无论是构造还是析构一个weak_ptr 都不会影响引用计数器。
- c++:智能指针
- C++:智能指针
- 【C++】智能指针
- 【C++】智能指针
- C++PJ智能指针
- 【c++】智能指针
- 【C++】智能指针auto_ptr
- C++,智能指针
- C++,boost智能指针
- 智能指针模拟C
- [C++]智能指针
- 【C++】 浅析智能指针
- C++_智能指针
- C++:初识智能指针
- C++::智能指针
- 【C++】智能指针
- c智能指针:unique_ptr
- 【C++】智能指针
- C#大整数的阶乘
- Linux--线程编程
- WebKit介绍及总结(一)
- silverlight调用GP服务实现缓冲区
- Thinkphp 的CURD,增、删、读、写操作
- C++智能指针
- C#中的比较
- Android客户端缓存机制(文字缓存和多媒体文件缓存)
- WebKit介绍及总结(二)
- js获取table中的值
- POJ 2778 DNA Sequence (AC自动机)
- 巧用时间周期判定变盘
- ubuntu13.04 chrome谷歌浏览器不能安装
- This text field does not specify an inputType or a hint