c++ 11 国标标准方面的异常处理与微软在Visual Studio 2012的异常处理的区别

  这段代码:

__try
{
}
__except(GetErrorCode())
{
}

  

  可以捕获空指针,但是包围在其中的代码不能有自带析构函数的对象。c++ 11 标准里面的auto_ptr关键字,有此关键字的指针发生的异常能被

try
{
}
catch(...)
{
}

  

  捕获,但是VC不支持auto_ptr关键字。

  从微软官方的文档看出,微软的习惯做法是使用goto,在函数末尾return之后加上cleanup标量,一旦代码检测到异常则跳转到cleanup。cleanup代码后面的代码一般用来释放内存。否则一切正常,正常执行到cleanup前。如果正常代码与异常代码共用cleaup标量后的代码,则cleaup之前不写return代码。

时间: 2024-08-25 04:36:53

c++ 11 国标标准方面的异常处理与微软在Visual Studio 2012的异常处理的区别的相关文章

Editplus+Oracle+Visual Studio 2012+SqlServer 2008+SqlServer 2012+MyEclipse 10.6+MyEclipse 2015+WebStorm 11+WebStorm 10+WPS专业版--所有安装包,加破解 下载地址

Editplus  下载链接:https://share.weiyun.com/76924b230d140da21ea4ed877309eb5e (密码:Oftbnq) Oracle  下载链接:https://share.weiyun.com/1cc1209f483b7c298499228256f36b66 (密码:q5sPUC) Visual Studio 2012  下载链接:https://share.weiyun.com/599d9f7b1ba2826ba045f1e56297dcf2

关注C++细节——C++11新标准之decltype的使用注意

c++11新特性--decltype decltype是C++11添加的一个新的关键字,目的是选择并返回操作数的数据类型,重要的是,在此过程中编译器分析表达式并得到它的类型,却不实际计算表达式的值. 对于内置类型的对象,使用decltype很直观,但当参数为复合类型的时候就应该注意一些使用细节问题. 1.当decltype作用于数组的时候就应该小心了,本文作者(CSDN   iaccepted). intiarr[10] = {0}; decltype(iarr)ib; 这个时候ib的定义等价于

C++11新标准:nullptr关键字

一.nullptr的意义 1.NULL在C中的定义 #define NULL (void*)0 2.NULL在C++中的定义 #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif 3.为什么C++和C中NULL定义不一样呢? void foo(int a) { cout<<"This is int"<<endl; } void foo

C++11新标准:decltype关键字

一.decltype意义 有时我们希望从表达式的类型推断出要定义的变量类型,但是不想用该表达式的值初始化变量(如果要初始化就用auto了).为了满足这一需求,C++11新标准引入了decltype类型说明符,它的作用是选择并返回操作数的数据类型,在此过程中,编译器分析表达式并得到它的类型,却不实际计算表达式的值. 二.decltype用法 1.基本用法 int getSize(); int main(void) { int tempA = 2; /*1.dclTempA为int*/ declty

C++11新标准:auto关键字

一.auto意义 编程时常常需要把表达式的值赋给变量,这就要求在声明变量的时候清楚地知道表达式的类型,然后要做到这一点并非那么容易.为了解决这个问题,C++11新标准引入了auto类型说明符,用它就能让编译器替我们去分析表达式所属的类型. 二.auto用法 1.基本用法 int tempA = 1; int tempB = 2; /*1.正常推断auto为int,编译通过*/ auto autoTempA = tempA + tempB; /*2.正常推断auto为int,编译通过*/ auto

陈松松:经验告诉我们,做视频营销这11条标准一条也不能缺

每个视频,都是你的金牌业务员 这是我写的第55篇视频营销原创文章 与其搜索十年,不如花一年的时间学习,去赚9年的高薪! 这11条标准,是我在操作视频营销的时候谨记的11个规则,希望在你操作视频营销的时候作为你参考的标准. 标准01:每天至少原创一个优质视频 既然做视频营销,就要下定决心,要么就彻底放弃,不做三天打鱼,两天塞网的事情,伤神又费力.一年365天,去掉节假日,至少持续更新360天! 标准02:发布视频到所有视频平台 做一个视频不容易,来一个客户更不容易,把你制作的每一个视频发布到所有的

使用Visual Studio在标准Web Part 部件中创建事件处理器

使用Visual Studio在标准Web Part 部件中创建Event Handler 为Web Part部件创建Events是生成Web Parts部件的核心部分.本文主要讲解如何使用Visual Studio在标准Web Part 部件中创建事件处理器. 1. 打开Visual Studio 创建新的空白SharePoint项目SPWebPartEvent,点击确定.部署为场解决方案. 2. 右击项目添加新Web部件SampleEventWebPart.点击确定. 3. 打开Sample

新手必备!11个强大的 Visual Studio 调试技巧

简介 调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 这篇文章总结了可能节省你大量时间的十个visual studio的调试技巧和方法. 1 悬停鼠标查看表达式值 调试是很有挑战性的.比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等... 但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里)

Xamarin for Visual Studio 3.11.666 Beta 版 破解补丁

注意:本版本是 Beta 版 前提概要 全新安装请参考 安装 Xamarin for Visual Studio. 最新稳定版请参考 Xamarin for Visual Studio 3.11.590 稳定版 破解补丁 Version 3. Release Notes 3.11.666 C5SR2 原版下载链接:Xamarin.VisualStudio_3.11.666.msi,度盘备份 Release Notes:简略.详细 旧版备份 3.11.584 C5SR2 Release Log:简