×

爬虫

【c++智能指针】模拟实现my_shared_ptr

此号已注销 此号已注销 发表于2024-04-14 浏览5088 评论0
在模拟my_share_ptr之前,我们深入区分一下,拷贝构造和移动构造,普通赋值和移动赋值的区别。 拷贝构造和移动构造的区别: 拷贝构造采用的方式是:将一个对象中指针所指的所有属性复制给被拷贝的对象。为了防止出现内存泄漏,需要被拷贝对象,重新申请一片堆空来存放所指之物。 移动构造是一个对象中的指针所指转移给被移动对象。因此需要将前者对他所拥有的数据的拥有权释放。 移动赋值和普通赋值的区别: 普通赋值:如 obja = base,是是将base中的指针所指赋值一份给obja。