C++学习笔记(八) 智能指针
指针是C++从C继承过来的一个强大而有效的工具,指针被人诟病的地方有很多,其中内存管理的艰难性就是其中之一。比如一个在堆中维护的对象,有好几个指针都指向它,那么究竟由谁来负责释放内存呢?小程序还好说,大程序往往很难理清其中的逻辑,一个处理不好就会造成内存泄露这样的严重问题。
智能指针就是这样一种实现机制,它通过一种引用计数器的实现原理,来保证由最后一个指向该对象的指针负责释放内存,将管理内存的工作交由指针自己去完成,减轻了程序的员的负担。下面我们来手动完成一个智能指针的实现:
SmartPointer.h文件
(ptr->)->test();