我们手动实现一个简化版的unique_ptr,它将拥有独占所有权,并且支持移动语义,但不支持拷贝语义。
我们将实现以下功能:
-
构造函数:从原始指针构造
-
析构函数:释放资源
-
移动构造函数:转移所有权
-
移动赋值运算符:转移所有权
-
禁止拷贝构造和拷贝赋值
-
重载 operator* 和 operator->
-
实现 release() 和 reset() 方法
-
实现 get() 方法
我们不会实现自定义删除器,以保持简单。
我们手动实现一个简化版的unique_ptr,它将拥有独占所有权,并且支持移动语义,但不支持拷贝语义。
我们将实现以下功能:
构造函数:从原始指针构造
析构函数:释放资源
移动构造函数:转移所有权
移动赋值运算符:转移所有权
禁止拷贝构造和拷贝赋值
重载 operator* 和 operator->
实现 release() 和 reset() 方法
实现 get() 方法
我们不会实现自定义删除器,以保持简单。