1、背景:C++程序设计中,对堆内存的操作非常频繁,堆内存的申请和释放都是由程序员来管理。然而在复杂的场景时很容易导致堆内存泄漏(忘记释放)、内存二次释放和程序出现异常时泄漏等情况。为了更好的管理堆内存因此引入了智能指针。
2、原理:智能指针是一个类,类的构造函数中传入普通指针,析构函数中释放传入的指针;
3、智能指针的作用:防止 忘记释放堆内存、二次释放和程序异常时未释放内存。
4、智能指针的使用:包含在头文件<memory>中.
- shared_ptr:多个指针指向相同的对象;
- unique_ptr:同一时刻只有一个指针指向unique_ptr对象;
- weak_ptr:不具备普通指针的行为,协助shared_ptr工作;
原文链接: https://www.cnblogs.com/dingou/p/12952429.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/350523
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!