首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++学习札记(八) 智能指针

2012-08-03 
C++学习笔记(八) 智能指针指针是C从C继承过来的一个强大而有效的工具,指针被人诟病的地方有很多,其中内存

C++学习笔记(八) 智能指针

指针是C++从C继承过来的一个强大而有效的工具,指针被人诟病的地方有很多,其中内存管理的艰难性就是其中之一。比如一个在堆中维护的对象,有好几个指针都指向它,那么究竟由谁来负责释放内存呢?小程序还好说,大程序往往很难理清其中的逻辑,一个处理不好就会造成内存泄露这样的严重问题。

智能指针就是这样一种实现机制,它通过一种引用计数器的实现原理,来保证由最后一个指向该对象的指针负责释放内存,将管理内存的工作交由指针自己去完成,减轻了程序的员的负担。下面我们来手动完成一个智能指针的实现:

SmartPointer.h文件

(ptr->)->test();

这样就保证了我们可以正常使用我们的智能指针,而且这种机制是递归的,也就是说,如果指向运算符返回的仍是一个重载了指向运算符的类,而非普通的指针,那么它将做递归的替换。好了,重点的就说这么多吧。

热点排行