码迷,mamicode.com
首页 >  
搜索关键字:raii    ( 121个结果
muduo库MutexLock、MutexLockGuard、Contidion、CountDownLatch分析
分析muduo网络库中,用于现场同步的互斥量和条件变量,以及一个组合CountDownLatch...
分类:其他好文   时间:2015-07-26 15:50:43    阅读次数:297
C++ 资源管理(RAII)--智能指针
1. 智能指针(Smart Pointer)i.是存储指向动态分配(堆)对象指针的类ii.在面对异常的时候格外有用,因为他们能够确保正确的销毁动态分配的对象iii.RAII类模拟智能指针,见备注2. C++11提供了以下几种智能指针,位于头文件,它们都是模板类i.std::auto_ptr(复制/赋...
分类:编程语言   时间:2015-07-21 22:07:28    阅读次数:212
C++中的初始化
C++中的RAII机制指明”对象创建时通过构造函数进行初始化,析构时通过析构函数释放资源”,但实际中因类无构造函数时编译器将自动合成一个默认构造函数,该构造函数只服务于自身编译器构造需要而不负责对象成员构造,如这个实例中对象A成员val,next均未进行初始化,而对象B由于是类对象则调用其默认构造函...
分类:编程语言   时间:2015-06-25 12:12:24    阅读次数:188
RAII vs. exceptions
析构函数不能抛出异常,原因析构函数已经变成了异常处理的一部分如果对象出了异常,现在异常处理模块为了维护系统对象数据的一致性,避免资源泄漏,有责任释放这个对象的资源,调用对象的析构函数,可现在假如析构过程又再出现异常,那么请问由谁来保证这个对象的资源释放呢?而且这新出现的异常又由谁来处理呢?咋办呢?3...
分类:其他好文   时间:2015-05-01 00:32:41    阅读次数:121
《Effective C++》重点摘要(三)
《Effective C++》第三章:资源管理 以对象管理资源。一份资源,可能是一片内存,可能是一个锁,当客户申请后需要手动释放才是合理的,那么最好在获得这份资源的时候,就立刻把它放到一个对象里(RAII技术),然后在对象的析构函数里释放它。这样释放操作就不会被遗忘了,并且,就算在使用资源类的语境中有语句抛出异常,也能确保资源得到正确的释放。 在资源管理类中小心coping行为。有的资源是不支持co...
分类:编程语言   时间:2015-04-21 11:16:58    阅读次数:167
C++11多线程——lock详解
C++11提供了两种管理锁的类 std::lock_guard:与mutex RAII相关,方便线程对互斥量上锁std::unique_lock:   与mutex RAII相关,方便线程对互斥量上锁,相比std::lock_guard提供了更好的上锁和解锁控制 一 lock_guard详解 lock_guard是一个模板类:templateclass lock_guar...
分类:编程语言   时间:2015-04-17 15:53:43    阅读次数:422
RAII(资源获取即初始化)详解
概念使用局部对象管理资源的技术通常称为“资源获取就是初始化”Resource Acquisition Is Initialization 机制是Bjarne Stroustrup首先提出的。要解决的是这样一个问题:在C++中,如果在这个程序段结束时需要完成一些资源释放工作,那么正常情况下自然是没有什么问题,但是当一个异常抛出时,释放资源的语句就不会被执行。于是Bjarne Stroustrup就想到...
分类:其他好文   时间:2015-04-10 18:05:31    阅读次数:173
RAII惯用法
RAII,也称为“资源获取就是初始化”,是c++等编程语言常用的管理资源、避免内存泄露的方法。简单的说,RAII 的做法是使用一个对象,在其构造时获取资源,在对象生命期控制对资源的访问使之始终保持有效,最后在对象析构的时候释放资源。例如,我们无需直接调用一对非成员函数OpenPort/ClosePo...
分类:其他好文   时间:2015-03-20 23:40:51    阅读次数:281
Effective C++ -- 资源管理
13.以对象管理资源 void f() { Investment* pInv = createInvestment(); ... delete pInv; } 以上代码存在问题:在delete之前出现异常,导致pInv无法删除,造成资源泄露。 解决方法:RAII Resource Acq...
分类:编程语言   时间:2015-03-17 16:00:09    阅读次数:304
RAII理解
RAII : Resource Acquisition Is Initialization 获取资源就是初始化。本质是将资源分配过程进行重新封装管理资源的分配和回收,实际上就是以构造函数形式进行资源分配,析构形式进行资源回收。详细说明:http://www.cnblogs.com/hsinwang/...
分类:其他好文   时间:2015-03-03 13:25:43    阅读次数:176
121条   上一页 1 ... 7 8 9 10 11 ... 13 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!