RAII
1255645
这个作者很懒,什么都没留下…
展开
-
RAII惯用法:C++资源管理的利器 http://www.cnblogs.com/hsinwang/articles/214663.html
RAII惯用法:C++资源管理的利器Posted on 2005-08-14 14:15 andrew 阅读(4352) 评论(7) 编辑 收藏 RAII惯用法:C++资源管理的利器RAII是指C++语言中的一个惯用法(idiom),它是“Resource Acquisition Is Initialization”的首字母缩写。中文可将其翻译为“资源获取就是初始化”转载 2015-10-17 09:27:03 · 378 阅读 · 0 评论 -
【C++设计技巧】C++中的RAII机制 http://www.cnblogs.com/gnuhpc/archive/2012/12/04/2802307.html
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/1.概念Resource Acquisition Is Initialization 机制是Bjarne Stroustrup首先提出的。要解决的是这样一个问题:在C++中,如果在这个程序段结束时需要完成一些资源释放工作,那么正常情况下自然是没有什么问题,但是当一个异常抛出时,释放资源的语句就转载 2015-10-17 14:53:05 · 439 阅读 · 0 评论 -
为什么c++抛出异常后还能对函数内的局部对象进行析构? http://segmentfault.com/q/1010000002498987
C++是如何确保出了异常还能调用析构函数的c++链接 评论 更多默认排序时间排序3 个回答答案对人有帮助,有参考价值2答案没帮助,是错误的答案,答非所问pezy 2.3k 1月21日 回答 · 1月21日 更新如何确保?标准确保。因为这是标准规定的。以下摘自 C++ 11 Standar转载 2015-10-17 09:32:54 · 1584 阅读 · 0 评论 -
C++智能指针简单剖析 www.cnblogs.com/lanxuezaipiao/p/4132096.html
导读最近在补看《C++ Primer Plus》第六版,这的确是本好书,其中关于智能指针的章节解析的非常清晰,一解我以前的多处困惑。C++面试过程中,很多面试官都喜欢问智能指针相关的问题,比如你知道哪些智能指针?shared_ptr的设计原理是什么?如果让你自己设计一个智能指针,你如何完成?等等……。而且在看开源的C++项目时,也能随处看到智能指针的影子。这说明智能指针不仅是面试官爱问的题转载 2015-10-17 20:33:10 · 454 阅读 · 0 评论 -
构造函数中抛出的异常 http://blog.csdn.net/deyili/article/details/6332760
构造函数中抛出的异常 1、标准C++中定义构造函数是一个对象构建自己,分配所需资源的地 方,一旦构造函数执行完毕,则表明这个对象已经诞生了,有自己的行为和内部的运行状态,之后还有对象的消亡过程(析构函数的执行)。可谁能保证对象的构造 过程一定能成功呢?说不定系统当前的某个资源不够,导致对象不能完全构建好自己(人都有畸形儿,更何况别的呢?朋友们!是吧!),因此通过什么方法来表明 对象的构转载 2015-10-17 11:44:48 · 538 阅读 · 0 评论 -
Exceptions and error handling http://yosefk.com/c++fqa/exceptions.html#fqa-17.2
Exceptions and error handlingPart of C++ FQA Lite. To see the original answers, follow the FAQ links.This page is about C++ exceptions - an error handling facility which may be worse than derefe转载 2015-10-17 11:21:15 · 839 阅读 · 0 评论 -
C++之RAII惯用法 blog.csdn.net/hunter8777/article/details/6327704
C++中的RAII全称是“Resource acquisition is initialization”,直译为“资源获取就是初始化”。但是这翻译并没有显示出这个惯用法的真正内涵。RAII的好处在于它提供了一种资源自动管理的方式,当产生异常、回滚等现象时,RAII可以正确地释放掉资源。举个常见的例子:[cpp] view plaincopy转载 2015-10-17 09:29:46 · 1136 阅读 · 0 评论 -
如何:异常安全模型 https://msdn.microsoft.com/zh-cn/library/hh279653(v=vs.110)
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。译文原文如何:异常安全模型Visual Studio 2012其他版本一个异常结构的优点是执行,并提供有关异常的数据时,直接从异常。该第一个捕获的语句处理它的语句跳转。 处理程序可以是任意数量的级别在调用转载 2015-10-17 17:45:52 · 1457 阅读 · 0 评论 -
构造函数、析构函数抛出异常的问题http://www.cnblogs.com/fly1988happy/archive/2012/04/11/2442765.html
构造函数、析构函数抛出异常的问题1. 抛出异常1.1 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为: throw 表达式;如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的转载 2015-10-17 10:57:05 · 560 阅读 · 0 评论 -
抛出异常与栈展开(stack unwinding)http://www.cnblogs.com/zhuyf87/archive/2012/12/23/2829725.html
抛出异常与栈展开(stack unwinding)抛出异常时,将暂停当前函数的执行,开始查找匹配的catch子句。首先检查throw本身是否在try块内部,如果是,检查与该try相关的catch子句,看是否可以处理该异常。如果不能处理,就退出当前函数,并且释放当前函数的内存并销毁局部对象,继续到上层的调用函数中查找,直到找到一个可以处理该异常的catch。这个过程称为栈展开(stack转载 2015-10-17 09:43:54 · 582 阅读 · 0 评论 -
c++构造函数中发生错误,如何处理? http://www.opengpu.org/forum.php?mod=viewthread&tid=2918
c++构造函数中发生错误,如何处理? [复制链接] songge09骑都尉(从五品)注册时间2010-6-1积分228串个门加好友打招呼发消息电梯直达1# 发表于 2010-6-30 17:转载 2015-10-17 11:15:49 · 1599 阅读 · 0 评论 -
C++中的RAII机制 http://www.jellythink.com/archives/101
前言在写C++设计模式——单例模式的时候,在写到实例销毁时,设计的GC类是很巧妙的,而这一巧妙的设计就是根据当对象的生命周期结束时会自动调用其析构函数的,而这一巧妙的设计也是有专业的名词的——RAII。那以下将围绕RAII,全面的讲解RAII的相关知识。什么是RAII?RAII是Resource Acquisition Is Initialization的简称,是C++语言转载 2015-10-17 09:50:47 · 632 阅读 · 0 评论 -
C++中智能指针的设计和使用 http://blog.csdn.net/hackbuteer1/article/details/7561235
C++中智能指针的设计和使用分类: 面试珠玑2012-05-12 22:48 57628人阅读 评论(63) 收藏 举报c++deleteconstructorclassreference 转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/7561235 智能指针(s转载 2015-10-17 19:54:13 · 513 阅读 · 0 评论 -
C++异常安全 http://www.cnblogs.com/qinfengxiaoyue/p/3713762.html
C++异常安全转自:http://www.cnblogs.com/zgfLawliet/p/3417308.html 异常安全的代码是指,满足两个条件1异常中立性 :是指当你的代码(包括你调用的代码)引发异常时,这个异常 能保持原样传递到外层调用代码2.异常安全性:抛出异常后,资源不泄露,抛出异常后,不会使原有数据恶化(例如正常指针变野指针)少些try catc转载 2015-10-17 17:48:38 · 621 阅读 · 0 评论