Freigeben über


auto_ptr::reset

Die Memberfunktion wertet den Ausdruck löschen myptr, bei nur aus, wenn der gespeicherte Zeigerwert myptr Ergebnis eines Funktionsaufrufs ändert. Er ersetzt dann den gespeicherten Zeiger durch ptr.

void reset( 
   Type* _Ptr = 0 
);

Parameter

  • _Ptr
    Der Zeiger angegeben, um die gespeicherten Zeiger myptr zu ersetzen.

Beispiel

// 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;
}
  

Anforderungen

Header: <memory>

Namespace: std

Siehe auch

Referenz

auto_ptr-Klasse