@智能指针
内存泄漏(臭名昭著的Bug)
一、动态申请堆空间,用完后不归还;
二、C++语言中没有垃圾回收的机制;
三、指针无法控制所指堆空间的生命周期。
当代的C++软件平台中的智能指针(需求)
一、指针生命周期结束时主动释放堆空间;
二、一片堆空间最多只能由一个指针标识;
三、杜绝指针运算和指针比较。
智能指针的设计方案
1、通过类模板描述指针的行为;
1)、能够定义不同类型的指针对象;
2、重载指针特征操作符(->和*)
2)、利用对象模拟原生指针的行为;
例题:智能指针的实现
main .c中要包含上面实现的SmartPointer这个头文件
注意:智能指针的军规
只能用来指向堆空间中的单个对象或者变量,不能用来指向堆空间中一个数组、局部的对象、局部的变量。
小结
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33897 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!