RAIIRAII是Resource Acquisition Is
Initialization的缩写,是在面向对象(object-oriented)语言中使用的一种编程习惯,主要是用来在C++中处理异常安全资源管理(exception-safe
resource management)。在RAII中...
分类:
其他好文 时间:
2014-07-22 23:14:13
阅读次数:
501
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