16.2.1 使用智能指针

基本定义:智能指针模板定义了类似指针的对象,可以将new获得的地址赋给这种对象,当智能指针过期时,其析构函数将使用delete来释放内存。

使用的先决条件:要创建智能指针对象,必须包含memory头文件,且智能指针模板位于std中

一般使用方法:与常规指针单向兼容(可赋给常规指针,反之不可),不支持隐式转换但支持构造函数参数是常规指针,其它使用上基本同常规指针

xxx_ptr<argument_type> smart_pointer_name = new argument_type;

一般注意事项:

  1. auto_ptr的定义中构造函数使用了throw()即构造函数不会引发异常
  2. 智能指针不能指向非堆内存(不可使用delete删除)
原文地址:https://www.cnblogs.com/suui90/p/13545021.html