次の方法で共有


auto_ptr Class

コントロールがブロックを離れるとリソースが自動的に破棄されるようにするリソースを中心にスマート ポインターをラップします。

unique_ptr のより可能なクラスは auto_ptrよりも優先されます。詳細については、「unique_ptr Class」を参照してください。

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> のオブジェクトのシーケンスを管理することはできません。

メンバー

ew3fk483.collapse_all(ja-jp,VS.110).gifコンストラクター

auto_ptr

auto_ptrオブジェクトのコンストラクター。

ew3fk483.collapse_all(ja-jp,VS.110).gifTypedef

element_type

この型は、テンプレート パラメーター Type のシノニムです。

ew3fk483.collapse_all(ja-jp,VS.110).gifメンバー関数

get

このメンバー関数は、格納されているポインターを返します myptr

リリース

メンバーが null ポインターに格納されているポインターを置き換え、myptr 前に格納されているポインターを返します。

reset

このメンバー関数は、格納されているポインター値 myptr に関数呼び出しの結果として変更したときのみ delete myptr式を評価します。これは ptrに格納されているポインターを置き換えます。

ew3fk483.collapse_all(ja-jp,VS.110).gif演算子

operator=

auto_ptr の 1 個のオブジェクトから他の状態への所有権を移譲代入演算子です。

operator*

auto_ptrのオブジェクトの逆参照する演算子。

operator->

メンバー アクセスを許可する演算子。

演算子の auto_ptr<Other>

1 種類の auto_ptr から別の種類の auto_ptrにキャストします。

演算子の auto_ptr_ref<Other>

auto_ptr から auto_ptr_refにキャストします。

必要条件

ヘッダー:<memory>

名前空間: std

参照

関連項目

C++ の標準ライブラリのスレッド セーフ

unique_ptr Class

その他の技術情報

<memory> メンバー