Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The member replaces the stored pointer myptr with a null pointer and returns the previously stored pointer.
Type *release( ) throw( );
Return Value
The previously stored pointer.
Remarks
The member replaces the stored pointer myptr with a null pointer and returns the previously stored pointer.
Example
// auto_ptr_release.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;
}
Constructing 00311AF8 Value: 5 Constructing 00311B88 Value: 6 Destructing 00311AF8 Value: 5 pi2 == pi3 Destructing 00311B88 Value: 6
Requirements
Header: <memory>
Namespace: std