Tag Archives: 智能指针

C++ Boost智能指针(smart_ptr)快速指南

智能指针(smart_ptr)是Boost各组件中,应用最为广泛的一个。

重所周知,C++没有提供Java中的垃圾回收机制。因此,在堆上申请的内存,需要自行回收,这就很容易导致内存泄漏。虽然STL提供了auto_ptr,但是受限太多(例如,不能放到容器中。。。),因此很少有人使用。

Boost从很早就提供了如下的智能指针,并且功能一直保持稳定:

  • scoped_ptr:不可拷贝,承载new。
  • scoped_array:不可拷贝,承载new []。
  • shared_ptr:[……]

继续阅读

推荐一个强大的智能指针!

是个老外写的,只需包含一个.h文件,支持两种模式:

1、AutoPtr,支持自动删除引用,就是STL那个的类似物,不能放入容器~

2、Ptr,作者主推的,支持内存泄露检测(使用自定义操作符NEW)+野指针保护(不会再SIGSEGV啦!),可以放入容器!

地址:http://www.csc.lsu.edu/~kosmas/smartPointers.html

下面我们来看一下这个强大智能指针的用法!

[cpp]
/*
* main.c
*
* Cre[……]

继续阅读