|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
auto_ptr::operator auto_ptr<Y>auto_ptr::operator auto_ptr_ref<Y> |
template<class Y> operator auto_ptr_ref<Y>()throw(); | (1) | (deprecated in C++11) (removed in C++17) |
template<class Y> operator auto_ptr<Y>()throw(); | (2) | (deprecated in C++11) (removed in C++17) |
Converts*this to anauto_ptr for a different typeY.
(none)
The constructor and the copy assignment operator fromauto_ptr_ref is provided to allow copy-constructing and assigningstd::auto_ptr from nameless temporaries. Since its copy constructor and copy assignment operator take the argument as non-const reference, they cannot bind rvalue arguments directly. However, a user-defined conversion(1) or(2) can be executed (which releases the originalauto_ptr), followed by a call to the constructor or copy-assignment operator that takeauto_ptr_ref by value. This is an early implementation ofmove semantics.