承接移动语义,来更新智能指针,上文说到 unique_ptr
也会用到移动语义的东西。由于 C++ 语言没有自动内存回收机制,程序员每次 new
出来的内存都要手动 delete
,一旦忘记 delete
或者程序过早退出而没有 delete
,导致内存泄漏总是不好的。内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存,从而造成了内存的浪费。
所以,能不能有一种东西的存在,使用 new
创建对象后,对象作用域消失时,能不能自动析构并调用 delete
?手动管理过程繁琐且容易出错,那么尝试通过智能指针来实现这一管理过程。