实现 smart_ptr 智能指针会自动地管理内存(释放不需要的内存),而不需要程序员去操心。
它能避免迷途指针(dangling pointers),内存泄漏(memory leaks), 分配失败等情况的发生。智能指针需要为所有实例维护一个引用计数,
这样才能在恰当的时刻(引用计数为0时)...
分类:
编程语言 时间:
2014-05-04 11:56:03
阅读次数:
380
boost的智能指针给编程带来了极大的便利,不需要关心内存的释放,不要要调用delete,而且还可以定制delete的方法。其实boost的智能指针是可以当成scope_exit来用的,同样是退出时处理。但是凡事都是有利有弊,boost的shared_ptr如果在循环引用的时候会出现无法释放内存的情况,所谓循环引用就是A智能指针类里存放B的智能指针,B的智能指针类里存放A,将a、b的值互相设置。增...
分类:
其他好文 时间:
2014-05-03 21:06:19
阅读次数:
274
这篇文章主要来源于:codeguru网站的一篇文章:A TR1 tutorial:smart
pointer (详细介绍了C++的智能指针,尤其是shared_ptr)。众所周知,在 TR1
之前,C++标准库中的智能指针只有auto_ptr,但由于它的【排他所有权模式】(exclusive own...
分类:
编程语言 时间:
2014-04-30 18:01:06
阅读次数:
478
auto_ptr是C++标准库中为了解决资源泄漏的问题提供的一个智能指针类模板。auto_ptr的实现原理是RAII,在构造的时获取资源,在析构的时释放资源。下面通过一个例子掌握auto_ptr的使用和注意事项。事例类的定义:#pragma
once#include using namespace ...
分类:
其他好文 时间:
2014-04-27 21:14:06
阅读次数:
622