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 を指す参照を保持する処理系定義の型を返します。 std::auto_ptr はこのテンプレートから変換可能かつ代入可能です。 処理系は別の名前を持つテンプレートを提供したり他の方法で同等な機能を実装しても構いません。
[編集] 引数
(なし)
[編集] 戻り値
1) *this を指す参照を保持する処理系定義の型。
[編集] ノート
auto_ptr_ref
からのコンストラクタおよびコピー代入演算子は無名の一時オブジェクトからの std::auto_ptr のコピー構築および代入を可能とするために提供されます。 コピーコンストラクタおよびコピー代入演算子は引数を非 const 参照として取るため、右辺値引数を直接束縛できません。 しかし、 (元の auto_ptr を解放する) ユーザ定義変換を実行し、その後 auto_ptr_ref
を値で取るコンストラクタまたはコピー代入演算子を呼ぶことはできます。 これはムーブセマンティクスの初期の実装です。