次の方法で共有


auto_ptr::reset

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

void reset( 
   Type* _Ptr = 0 
);

パラメーター

  • _Ptr
    保存されたポインター myptrを置き換えるに指定されたポインター。

使用例

// auto_ptr_reset.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
#include <vector>

using namespace std;

class Int 
{
public:
   Int( int i ) 
   {
      x = i;
      cout << "Constructing " << ( void* )this << " Value: " << x << endl; 
   };
   ~Int( ) 
   {
      cout << "Destructing " << ( void* )this << " Value: " << x << endl; 
   };

   int x;
};

int main( ) 
{
   auto_ptr<Int> pi ( new Int( 5 ) );
   pi.reset( new Int( 6 ) );
   Int* pi2 = pi.get ( );
   Int* pi3 = pi.release ( );
   if ( pi2 == pi3 )
      cout << "pi2 == pi3" << endl;
   delete pi3;
}
  

必要条件

ヘッダー: <memory>

名前空間: std

参照

関連項目

auto_ptr クラス