02 智能指针

->智能指针本质上就是RAII资源管理功能的自然展现。

1.模板化和易用性:能够包装任意类型的指针。

2.具有指针的行为:构造 析构 获取原始指针 解引用 指针运算符 bool运算符(本类型到bool的隐式转换)

3.拷贝构造和赋值(拷贝):

禁止拷贝,作为智能指针功能不完善但是可以避免出错(同一对象释放两次)

smart_ptr(const smart_ptr&) = delete;

smart_ptr& operator=(const smart_ptr&) = delete;

拷贝时转移指针的所有权,auto_ptr,C++17已删除

->C++中提供了移动构造函数而没有提供拷贝构造函数,则后者自动被禁用。

你可能感兴趣的:(02 智能指针)