类模板
<memory>

std::auto_ptr

template <class X> class auto_ptr;
自动指针 [已弃用]
注意:此类模板在 C++11 中已被弃用。 unique_ptr 是一个具有类似功能的新工具,但具有更高的安全性(无虚假复制赋值)、增加了功能(deleters)和对数组的支持。有关更多信息,请参阅 unique_ptr

此类模板为指针提供了一个有限的垃圾回收机制,允许在 auto_ptr 对象本身被销毁时自动销毁其指向的元素。

auto_ptr对象具有拥有分配给它们的指针的特性:一个auto_ptr对象拥有一个元素时,负责销毁它指向的元素并在其自身被销毁时释放分配给它的内存。析构函数通过调用operator delete自动完成。

因此,不应有两个auto_ptr对象“拥有”同一个元素,因为两者最终都会尝试销毁它们。当两个auto_ptr对象之间发生赋值操作时,会发生所有权转移,这意味着失去所有权的对象的指针被设置为不再指向该元素(它被设置为空指针)。

模板参数

X
被管理对象的类型,别名为成员类型element_type.

成员类型

以下别名是...的成员类型auto_ptr.

成员类型定义说明
element_type类模板参数(X)被管理对象的类型

成员函数