标签:
智能指针是一种具备指针类似行为的对象,当不在需要它的时候自动删除其引用的c++对象。直接点说就是自动析构C++对象。
boost提供了6种智能指针,如下所示:
scoped_ptr | <boost/scoped_ptr.hpp> | 单个对象的简单的唯一所有权. 不能拷贝. |
scoped_array | <boost/scoped_array.hpp> | 数组对象的唯一所有权. 不能拷贝. |
shared_ptr | <boost/shared_ptr.hpp> | 多个指针间共享对象所有权. |
shared_array | <boost/shared_array.hpp> | 多个指针间共享数组所有权 |
weak_ptr | <boost/weak_ptr.hpp> |
访问被shared_ptr所有的对象,但并不拥有这个对象。通常与shared_prt 联合使用来避免环形引用 |
intrusive_ptr | <boost/intrusive_ptr.hpp> |
共享有着嵌入了引用计数对象的所有权。它在性能上比shared_ptr更好, 但需要对象类型实现自己的引用计数机制 |
intrusive:侵入的,打扰的。
http://blog.csdn.net/saga1979/article/details/7100273
http://www.cnblogs.com/sld666666/archive/2010/12/16/1908265.html
标签:
原文地址:http://www.cnblogs.com/youxin/p/4303282.html