在c++11中增添了智能指针这个模板概念
使用时需添加头文件<memory>
定义时可以使用的类型包括自定义类型下面用模板类型T代替
两种形式:
shared_ptr<T>ptr(new T);
T *p=new T;
shared_ptr<T>ptr(p);
注意的是
不可以用两个智能指针都直接对指针p托管;
否则会重复释放造成程序崩溃
可以通过已经托管p的智能指针间接多重托管
这样直到没有托管p的智能指针时,p的空间才会被释放
在c++11中增添了智能指针这个模板概念
使用时需添加头文件<memory>
定义时可以使用的类型包括自定义类型下面用模板类型T代替
两种形式:
shared_ptr<T>ptr(new T);
T *p=new T;
shared_ptr<T>ptr(p);
注意的是
不可以用两个智能指针都直接对指针p托管;
否则会重复释放造成程序崩溃
可以通过已经托管p的智能指针间接多重托管
这样直到没有托管p的智能指针时,p的空间才会被释放