码迷,mamicode.com
首页 >  
搜索关键字:以对象管理资源    ( 44个结果
Effective C++ 随笔(3)
条款12: 以对象管理资源 两种只能指针: std:auto_ptr当使用copy操作室,原先的智能指针指向为nullstd:tr1:share_ptr spi();当可以多个指向同样的地址,但是当delete是会进行根据指向改地址的指针数量是否要delete这块内存条款13 在资源管理中小心cop...
分类:编程语言   时间:2015-05-09 23:23:57    阅读次数:227
《Effective C++》重点摘要(三)
《Effective C++》第三章:资源管理 以对象管理资源。一份资源,可能是一片内存,可能是一个锁,当客户申请后需要手动释放才是合理的,那么最好在获得这份资源的时候,就立刻把它放到一个对象里(RAII技术),然后在对象的析构函数里释放它。这样释放操作就不会被遗忘了,并且,就算在使用资源类的语境中有语句抛出异常,也能确保资源得到正确的释放。 在资源管理类中小心coping行为。有的资源是不支持co...
分类:编程语言   时间:2015-04-21 11:16:58    阅读次数:167
effective c++ 笔记 (5)
//---------------------------15/03/30---------------------------- //#13   以对象管理资源 {     void f()     {         Investment *pInv = createInvestment();         ...         delete pInv; ...
分类:编程语言   时间:2015-03-31 09:08:29    阅读次数:179
Effective C++ -- 资源管理
13.以对象管理资源 void f() { Investment* pInv = createInvestment(); ... delete pInv; } 以上代码存在问题:在delete之前出现异常,导致pInv无法删除,造成资源泄露。 解决方法:RAII Resource Acq...
分类:编程语言   时间:2015-03-17 16:00:09    阅读次数:304
Effective C++ -----条款13:以对象管理资源
为防止资源泄漏,请使用RAII(Resource Acquisiton Is Initialization) 对象,它们在构造函数中获得资源并在析构函数中释放资源。两个常被使用的RAII classes 分别是tr1::shared_ptr和auto_ptr。前者通常是较佳选择,因为其copy行为比...
分类:编程语言   时间:2015-01-30 22:23:54    阅读次数:171
Effective C++学习笔记(Part Three:Item 13-17)
第3部分:资源管理(Resource Management) 个人认为这是C++的比较关键的地方,利用好,可以使项目节约资源,合理利用内存资源,防止内存泄露。对于“资源”这两个字,可能刚接触,比较抽象,但你结合一下实际,也有很具体了! 条款13:以对象管理资源 条款14:在资源管理类中小心coping行为 条款15:在资源管理类中提供对原始资源的访问 条款16:成对使用new和delete时要采用相同的形式 条款17:以独立语句将newed对象置入智能指正...
分类:编程语言   时间:2014-12-23 12:26:21    阅读次数:140
effective c++条款13-17 “以对象管理资源”之C++隐式转换和转换构造函数
其实我们已经在C/C++中见到过多次标准类型数据间的转换方式了,这种形式用于在程序中将一种指定的数据转换成另一指定的类型,也即是强制转换,比如:int a = int(1.23),其作用是将1.23转换为整形1。然而对于用户自定义的类类型,编译系统并不知道如何进行转换,所以需要定义专门的函数来告诉编译系统改如何转换,这就是转换构造函数和类型转换函数!   一、转换构造函数...
分类:编程语言   时间:2014-12-02 11:54:43    阅读次数:190
effective c++条款13-17 “以对象管理资源”之auto_ptr源码分析
auto_ptr是当前C++标准库中提供的一种智能指针,诚然,auto_ptr有这样那样的不如人意,以至于程序员必须像使用”裸“指针那样非常小心的使用它才能保证不出错,以至于它甚至无法适用于同是标准库中的那么多的容器和一些算法,但即使如此,我们仍然不能否认这个小小的auto_ptr所蕴含的价值与理念。 这里用了Nicolai M. Josuttis(>作者)写的一个auto_ptr的版本,并...
分类:编程语言   时间:2014-12-01 16:03:22    阅读次数:193
effective c++条款13-17 “以对象管理资源”之RAII浅析
RAII是指C++语言中的一个惯用法(idiom),它是“Resource Acquisition Is Initialization”的首字母缩写。中文可将其翻译为“资源获取就是初始化”。虽然从某种程度上说这个名称并没有体现出该惯性法的本质精神,但是作为标准C++资源管理的关键技术,RAII早已在C++社群中深入人心。 使用局部对象管理资源的技术通常称为“资源获取就是初始化”。这种通用技术依赖...
分类:编程语言   时间:2014-12-01 16:02:54    阅读次数:136
effective c++条款13-17 “以对象管理资源”之shared_ptr浅析
顾名思义,boost::shared_ptr是可以共享所有权的智能指针,首先让我们通过一个例子看看它的基本用法: #include #include #include class implementation { public: ~implementation() { std::cout <<"destroying implementation\n"; } void d...
分类:编程语言   时间:2014-12-01 16:00:11    阅读次数:163
44条   上一页 1 2 3 4 5 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!