auto_ptr クラス
コントロールはにリソースが自動的に破棄されるようにするリソースの周囲にスマート ポインターをラップします。
unique_ptr をより可能なクラスは、auto_ptrに代わるものです。 詳細については、「unique_ptr クラス」を参照してください。
throw() と例外処理の詳細については、「例外の仕様」を参照してください。
template<class Type>
class auto_ptr {
public:
typedef Type element_type;
explicit auto_ptr(Type *_Ptr = 0) throw();
auto_ptr(auto_ptr<Type>& _Right) throw();
template<class Other>
operator auto_ptr<Other>() throw();
template<class Other>
auto_ptr<Type>& operator=(auto_ptr<Other>& _Right) throw();
template<class Other>
auto_ptr(auto_ptr<Other>& _Right);
auto_ptr<Type>& operator=(auto_ptr<Type>& _Right);
~auto_ptr();
Type& operator*() const throw();
Type *operator->()const throw();
Type *get() const throw();
Type *release()throw();
void reset(Type *_Ptr = 0);
};
パラメーター
_Right
既存のリソースを取得 auto_ptr。_Ptr
保存されたポインターを置換に指定されたポインター。
解説
このテンプレート クラスは、割り当てられたオブジェクトに auto_ptr, というスマート ポインターについて説明します。 ポインターが null です newに割り当てられたオブジェクトを指定する。 auto_ptr は、格納されている値が別のオブジェクトに割り当てると所有権を転送します。(これは null ポインターと転送の後に格納されている値に置き換えられます)。auto_ptr<Type> のデストラクターが割り当てられたオブジェクトを削除します。 auto_ptr<Type> はコントロールはに割り当てられたオブジェクトがスローされた例外によって自動的に削除されることを確認します。 同じを所有するように作成し、auto_ptr<Type> の 2 種類のオブジェクトを構築する必要があります。
引数として値を関数呼び出しの auto_ptr<Type> オブジェクトを渡すことができます。 auto_ptr は、標準ライブラリのコンテナー要素にすることはできません。 確実に標準テンプレート ライブラリのコンテナーを持つ auto_ptr<Type> オブジェクトのシーケンスを管理することはできません。
メンバー
コンストラクター
型 auto_ptrオブジェクトのコンストラクター。 |
Typedef
この型は、テンプレート パラメーター Type のシノニムです。 |
メンバー関数
このメンバー関数は、格納されているポインター myptrを返します。 |
|
メンバーが null ポインターに格納されたポインター myptr を置き換え、以前に保存したポインターを返します。 |
|
このメンバー関数は、格納されているポインター myptr 値を関数呼び出しの結果として変更したときのみ、delete myptr式を評価します。 これは ptrに格納されたポインターを置き換えます。 |
演算子
auto_ptr の 1 つがオブジェクトから別の所有権を譲渡する代入演算子です。 |
|
型 auto_ptrオブジェクトの逆参照の演算子。 |
|
メンバー アクセスを許可するための演算子。 |
|
1 種類の auto_ptr から別の種類の auto_ptrへのキャストを行います。 |
|
auto_ptr から auto_ptr_refへのキャストを行います。 |
必要条件
**ヘッダー:**の<メモリ>
名前空間: std