auto_ptr Class

在相应的资源环绕智能指针自动销毁该资源,则控件将块时。

更强的 unique_ptr 选件类取代 auto_ptr。 有关更多信息,请参见unique_ptr Class

有关 throw() 和异常处理的更多信息,请参见 异常规范

template<class Type>
    class auto_ptr {
public:
    typedef Type element_type;
    explicit auto_ptr(Type *_Ptr = 0) throw();
    auto_ptr(auto_ptr<Type>& _Right) throw();
    template<class Other>
        operator auto_ptr<Other>() throw();
    template<class Other>
        auto_ptr<Type>& operator=(auto_ptr<Other>& _Right) throw();
    template<class Other>
        auto_ptr(auto_ptr<Other>& _Right);
    auto_ptr<Type>& operator=(auto_ptr<Type>& _Right);
    ~auto_ptr();
    Type& operator*() const throw();
    Type *operator->()const throw();
    Type *get() const throw();
    Type *release()throw();
    void reset(Type *_Ptr = 0);
};

参数

  • _Right
    auto_ptr 获取现有资源。

  • _Ptr
    指定的指针替换存储的指针。

备注

模板选件类描述智能指针,调用 auto_ptr, 到已分配的对象。 指针必须为 null 或指定 new分配的对象。 则该存储的值赋给另一个对象,auto_ptr 所有权转移。 (它是在调用后替换存储的值带 null 指针。)auto_ptr<Type> 的析构函数删除分配的对象。 auto_ptr<Type> 确保已分配的对象即使通过引发的异常时自动删除,当控件保留块时。 不应构造拥有同一对象的两 auto_ptr<Type> 对象。

在对参数的函数调用,您可以通过 auto_ptr<Type> 对象的值。 auto_ptr 不能为任何标准库 (stl) 容器中的元素。 您不能可靠地进行管理 auto_ptr<Type> 对象序列与标准模板库 (stl) 容器的。

成员

ew3fk483.collapse_all(zh-cn,VS.110).gif构造函数

auto_ptr

类型 auto_ptr对象的构造函数。

ew3fk483.collapse_all(zh-cn,VS.110).gifTypedef

element_type

该类型是模板参数的 Type同义词。

ew3fk483.collapse_all(zh-cn,VS.110).gif成员函数

get

成员函数返回存储的指针 myptr

版本

该成员带 null 指针替换存储的指针 myptr 并返回以前存储的指针。

reset

只有 + 当由于存储区的指针值 myptr 更改函数调用,成员函数计算表达式 delete myptr,,但。 它将 ptr然后替换存储的指针。

ew3fk483.collapse_all(zh-cn,VS.110).gif运算符

operator=

从一 auto_ptr 对象所有权转移到另一个的赋值运算符。

operator*

类型 auto_ptr对象的取消引用的运算符。

operator->

允许有成员访问运算符。

运算符 auto_ptr<Other>

从一个转换为另一个 auto_ptrauto_ptr

运算符 auto_ptr_ref<Other>

auto_ptr 的转换到 auto_ptr_ref

要求

标头:<memory>

命名空间: std

请参见

参考

线程安全性对标准C++库中

unique_ptr Class

其他资源

memory 成员