auto_ptr的使用

Posted 冥地魔王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了auto_ptr的使用相关的知识,希望对你有一定的参考价值。

其实auto_ptr并不难理解。其本质上是一种类,这个类可以进行指针运算符的操作。但是他可以进行指针的智能管理,克服了裸指针抛出异常时,没有被调用虚构函数的风险。

其使用有一个最简单的逻辑,就是一旦碰见裸指针,就将其交给智能指针去管理。

auto_ptr不能作为STL容器的元素,因为STL在存入元素时,一定要求对元素进行值语义的拷贝,而auto_ptr在拷贝时可能改变右值,因为要转移所有权。

vector<T *>只负责保存指针变量,不负责指针的管理。如果要释放内存,需要手动编写程序进行控制。

以上是关于auto_ptr的使用的主要内容,如果未能解决你的问题,请参考以下文章

在动态分配的数组上使用 auto_ptr 的正确方法是啥?

为啥将 std::auto_ptr<> 与标准容器一起使用是错误的?

智能指针之 auto_ptr

c++中的智能指针auto_ptr解析

auto_ptr 的动态内存分配

auto_ptr浅析