标签:cto 所有权 理解 内存 变量 拷贝 运算 抛出异常 容器
其实auto_ptr并不难理解。其本质上是一种类,这个类可以进行指针运算符的操作。但是他可以进行指针的智能管理,克服了裸指针抛出异常时,没有被调用虚构函数的风险。
其使用有一个最简单的逻辑,就是一旦碰见裸指针,就将其交给智能指针去管理。
auto_ptr不能作为STL容器的元素,因为STL在存入元素时,一定要求对元素进行值语义的拷贝,而auto_ptr在拷贝时可能改变右值,因为要转移所有权。
vector<T *>只负责保存指针变量,不负责指针的管理。如果要释放内存,需要手动编写程序进行控制。
标签:cto 所有权 理解 内存 变量 拷贝 运算 抛出异常 容器
原文地址:http://www.cnblogs.com/mingdimowang-lyw/p/6659312.html