std::auto_ptr<T>::operator auto_ptr<Y>
来自 cppreference.com
template< class Y > operator auto_ptr_ref<Y>() throw(); |
(1) | (C++11 中已弃用) (C++17 中已删除) |
template< class Y > operator auto_ptr<Y>() throw(); |
(2) | (C++11 中已弃用) (C++17 中已删除) |
将 *this 转换为不同类型 Y
的 auto_ptr
。
[编辑] 参数
(无)
[编辑] 返回值
1) 一个实现定义的类型,该类型保存对 *this 的引用。
[编辑] 注释
从 auto_ptr_ref
提供构造函数和复制赋值运算符,以允许从无名临时对象复制构造和赋值 std::auto_ptr。由于其复制构造函数和复制赋值运算符将参数作为非 const 引用,因此它们不能直接绑定右值参数。但是,可以执行用户定义的转换 (1) 或 (2)(这将释放原始 auto_ptr
),然后调用按值获取 auto_ptr_ref
的构造函数或复制赋值运算符。这是 移动语义 的早期实现。