//1,release函数只是简单的转移对内存的拥有权,自己变成null,不会delete,一般在将所有权转移给别的智能指针的时候使用。具体可参加源码。 例:#include 
#include 
using namespace std;class A{public: A(int a):m_na(a) {     cout<<"A cont" <
<<"A dect"<
 p(new A(1));    p.release();//注意 release后,p指向的内存还没被释放。以后也不会释放,存在泄露                     //所有权转移出去了,只是没有别的智能指针接受而已。    if(p.get()==NULL)    {        cout<<"null"<

新浪博客以前的旧笔记:

笔记1:release :相当于get()后再转移所有权。并没有释放。例如:       auto_ptr fb(fa);   // 相当auto_ptr fb(fa.release()); 智能指针赋值时,自动release转移       if( fa.get()==NULL)             cout<< "fa null" <