【转】 C++易混知识点4: 自己编写一个智能指针(Reference Counting)学习auto_ptr和reference counting
2024-10-19 22:27:48
这篇文章建大的介绍了如何编写一个智能指针。
介绍:
什么是智能指针?答案想必大家都知道,智能指针的目的就是更好的管理好内存和动态分配的资源,智能指针是一个智能的指针,顾名思义,他可以帮助我们管理内存。不必担心内存泄露的问题。实际上,智能指针是一个行为类似于指针的类,通过这个类我们来管理动态内存的分配和销毁。方便客户端的使用。相比于一般指针,智能指针主要体现在它使用的容易和便捷性。
转载请注明出处: http://blog.csdn.net/elfprincexu
使用一般指针的问题:
一般情况下我们使用指针的问题是什么?答案是内存管理,简单来看下面的一个例子:
- ,发现到0, 所以释放 pdata 和 reference。 此时pdata 就是一开始新创建的Person空间,所以person会被释放,同时Reference也会被释放。
总结:
整个过程中,我们只创建了一次Person实例和Reference实例, 但最多有三个智能指针同时指向他们,通过对实例的被引用次数记录,来“智能”的判断什么时候释放真正的内存空间。最新文章
- win7系统下的FTP配置
- AndroidLinker与SO加壳技术之上篇
- 【转】 HTTP 协议简介
- 启用ntp服务
- android93 进程优先级补充
- 让DataGridView的标题显示中文
- git上解决代码冲突
- ios drawRect NSString 绘制
- redis安装(针对2.8以上版本)
- Java多线程学习之Lock与ReentranLock详解
- Linux- 常用命令, Vim编辑器操作
- iOS 开发笔记 - 导航到地图
- Java - ";JUC线程池"; 线程状态与拒绝策略源码分析
- thinkphp5报错
- QDesktopWidget
- 一段有用的javascript加密解密
- mysql命令收集
- CSS实现input默认文字灰色有提示文字点击后消失鼠标移开显示
- hibernate detached分离查询 与 抓取策略注意事项
- Spring Struts2 整合
热门文章