std::auto_ptr<T>::operator auto_ptr<Y>
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 в auto_ptr для другого типа Y.
*this. std::auto_ptr является преобразуемым и присваиваемым для этого шаблона. Реализация имеет право предоставить шаблон с другим именем или реализовать эквивалентную функциональность другими способами.Параметры
(нет)
Возвращаемое значение
*this. Примечания
Конструктор и оператор присваивания по копированию из auto_ptr_ref предоставляются для копирования и присваивания std::auto_ptr из безымянных временных значений. Поскольку его конструктор копирования и оператор присваивания по копированию принимают аргумент как неконстантную ссылку, они не могут напрямую связывать аргументы rvalue. Однако может быть выполнено пользовательское преобразование (1) или (2) (что высвобождает исходный auto_ptr), за которым следует вызов конструктора или оператора присваивания по копированию, принимающего auto_ptr_ref по значению. Это ранняя реализация семантики перемещения.
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/auto_ptr/operator_auto_ptr