c++学习系列(3)---unique_ptr的实现和代码例子版本0.1

 unique_ptr 需要实现的接口如下:

 

 

需要注意的问题

1. 移动赋值构造函数和移动拷贝构造函数,unique_ptr可以通过move语义赋值和构造。在移动赋值构造函数中,需要注意对自身赋值的判断,防止误删除数据;以及在赋值之前释放之前指针指向的对象

 

 

2. 需要对赋值构造函数和拷贝构造函数声明为delete,声明为delete后,编译器不会为unique_ptr 生成默认的赋值构造函数和拷贝构造函数,这样可以保证一个对象只有一个unique_ptr拥有所有权

 

其他代码见git:https://github.com/wudafucode/cc.git

 

posted on 2020-08-19 00:08  xgcode  阅读(327)  评论(0编辑  收藏  举报