基本定义:智能指针模板定义了类似指针的对象,可以将new获得的地址赋给这种对象,当智能指针过期时,其析构函数将使用delete来释放内存。
使用的先决条件:要创建智能指针对象,必须包含memory头文件,且智能指针模板位于std中
一般使用方法:与常规指针单向兼容(可赋给常规指针,反之不可),不支持隐式转换但支持构造函数参数是常规指针,其它使用上基本同常规指针
xxx_ptr<argument_type> smart_pointer_name = new argument_type;
一般注意事项:
- auto_ptr的定义中构造函数使用了throw()即构造函数不会引发异常
- 智能指针不能指向非堆内存(不可使用delete删除)