名前空間
変種
操作

std::auto_ptr<T>::operator auto_ptr<Y>

From cppreference.com
< cpp‎ | memory‎ | auto ptr
 
 
メモリ管理ライブラリ
(説明用*)
未初期化メモリのアルゴリズム
(C++17)
(C++17)
(C++17)
制約付き未初期化
メモリアルゴリズム
Cライブラリ

アロケータ
メモリリソース
ガベージコレクションのサポート
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
未初期化ストレージ
(C++20まで*)
(C++20まで*)
明示的な生存期間管理
 
 
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` は、このテンプレートから変換可能であり、代入可能です。実装は、テンプレートに異なる名前を提供するか、他の方法で同等の機能を提供することが許可されています。
2) `release()` を呼び出して取得したポインタで、新しい `auto_ptr` を構築します。

[編集] パラメータ

(なし)

[編集] 戻り値

1) `*this` への参照を保持する、実装定義の型。
2) `release()` を呼び出して取得したポインタを持つ `auto_ptr`。

[編集] 注釈

`auto_ptr_ref` からのコンストラクタとコピー代入演算子は、名前のない一時オブジェクトから `std::auto_ptr` をコピー構築および代入できるように提供されています。コピーコンストラクタとコピー代入演算子は引数を非const参照で受け取るため、右辺値引数を直接バインドできません。しかし、ユーザー定義変換 (1) または (2) を実行し(これにより元の `auto_ptr` は解放されます)、その後、`auto_ptr_ref` を値で受け取るコンストラクタまたはコピー代入演算子を呼び出すことができます。これは、ムーブセマンティクスの初期実装です。

English 日本語 中文(简体) 中文(繁體)