当前位置: 首页 > news >正文

开发一个网站的步骤网页制作基础教程第一版

开发一个网站的步骤,网页制作基础教程第一版,上海手机软件开发公司,太原在建目录C noexcept#xff1a;1、用途2、用法1、noexcept声明符的用法#xff1a;2、noexcept运算符的用法异常传播1、异常传播的定义2、异常传播中的规则3、异常传播的代价C noexcept#xff1a; 1、用途 C11使用noexcept指明函数是否抛出异常#xff1a; 若函数不抛异常 noexcept1、用途2、用法1、noexcept声明符的用法2、noexcept运算符的用法异常传播1、异常传播的定义2、异常传播中的规则3、异常传播的代价C noexcept 1、用途 C11使用noexcept指明函数是否抛出异常 若函数不抛异常则可做编译优化 即便函数抛异常也不再说明所抛异常类型(简化) 注意C03将throw(ExceptionType)放到函数后面说明函数会抛出什么类型的异常也被称为“异常规约” java用 throws关键字做同样的事情 2、用法 1、noexcept声明符的用法 void foo() noexcept {} //函数不抛异常void foo() noexcept(true) {} // noexcept(true)等价于noexceptvoid foo() {} // 可能会抛出异常void foo() noexcept(false) {} // noexcept(false)等价于什么也不写可能会抛出异常需要注意的地方 1、noexcept不能用于区分重载函数。 2、如果我们声明函数时说了它不抛异常但是又在noexcept函数中抛出异常这就等于调用std::terminate()终结程序的运行。 void f() { /* 潜在抛出异常 */ } void g() noexcept {f(); // 合法即 使 f 抛出 throw 42; // 合法等效于调用 std::terminate }编译时会报警告 主函数调用foo(),运行时程序会终止 2、noexcept运算符的用法 bool noexcept( expression ) noexcept 运算符进行编译时检查若表达式声明为不抛出任何异常则返回 true。 noexcept (may_throw())返回false表明可能会抛异常。 noexcept (no_throw())返回true表明不抛异常。 void may_throw(); void no_throw() noexcept; int main() {std::cout std::boolalpha Is may_throw() noexcept? noexcept (may_throw()) \n Is no_throw() noexcept? noexcept (no_throw()) \n; }异常传播 1、异常传播的定义 嵌套的函数调用每个函数中都有 try-catch 块内层函数抛出异常这时候会出现异常传播 如图func3中出现了异常如果没有被func2中的catch捕获到的话异常会随着函数的返回交给函数的上一级(func1)处理如果func1也处理不了则交给main函数处理如果main函数处理不了程序会崩溃。 需要注意的地方 try块中抛出异常的语句后面的语句catch的异常类型与所需匹配的异常实例的类型 2、异常传播中的规则 try-catch的执行规则 try块中的异常抛异常的语句后的块代码都被跳过并开始找exception handler的代码即找catch代码找exception handler的流程沿函数调用的链反向寻找(1) 按catch块的顺序对比找到则执行catch块代码(2) 找不到退出当前函数将异常传给调用当前函数的函数仍然以上图调用链为例 Quiz: function3抛出 Exception3执行哪些statement? 执行Process ex3 - statement6- statement3- statement4- statement1- statement2;Exception2执行哪些statement? 执行Process ex2 -statement4- statement1- statement2;Exception1执行哪些statement? 执行Process ex1 - statement2;Exception0执行哪些statement? 返回到主函数程序崩溃 3、异常传播的代价 C引入的异常处理会为程序带来额外开销和代价。 1项目中使用异常需要考虑与未使用异常的第三方和旧项目代码的整合问题避免出现一异常安全问题 2异常使用不当容易造成内存泄漏和程序崩溃比如函数内抛出异常需要注意栈展开导致的内存泄露析构函数抛出异常将程序置于不确定状态等 3异常的跳转会彻底扰乱程序的执行流程并难以判断给代码调试和维护增加难度 4为保证写出异常安全的代码往往需要借用C其它特性如智能指针这又进一步加剧了代码可读性的恶化与程序的时空开销包括编译时间的延长运行效率的较低以及代码尺寸的增大。
http://wiki.neutronadmin.com/news/93251/

相关文章:

  • 制作门户网站网站开发的意义和作用
  • 东莞网站seo公司哪家大十大没用的证书
  • 网站建设zrhskj搜索引擎优化技术都有哪些
  • php做彩票网站吗内蒙中国建设银行招聘网站
  • 专门做微信公众号的网站免费广告投放网站
  • 网站开发 策划是干嘛的如何快速备案网站
  • 做美容美发的网站有哪些网站建设标书
  • 电子商务网站建设预算表wordpress路径
  • 音乐网站前端模板石家庄软件公司排名
  • 企业网站seo最好方法网站建设需要懂的书籍
  • 新站seo优化快速上排名上海平台网站建设报
  • 苏州知名网站建设设计公司排名WordPress七牛导致评论失效
  • 五屏网站建设且网站制作
  • 网站添加百度商桥企业信息查询网官网
  • 门户网站html模板2022热门网页游戏排行榜
  • 网站建设心得感想设计动漫的软件
  • iis php服务器搭建网站免费只做网站
  • 名城苏州网站淘宝网站域名
  • 织梦个人网站模板app门户网站
  • 设计必知的设计网站 039做网站之前需要准备什么软件
  • 网站的程序和数据库怎么做的数据库 导入 wordpress 错误
  • 网站推广类型wordpress固定链接设置失败
  • 网站开发用什么语言写做网站用什么工具
  • 在服务器网站上做跳转网页设计模板html代码盒子
  • 北京 网站 建设wordpress网站怎么打开
  • 搭建网站都需要什么西安市建设工程信息网平台
  • php网站代做是什么意思网站开发者收入来源
  • 哪些网站需要icp备案世界大学排名
  • 很多年前的51网站重庆网站建设 狐灵
  • 公共体育课程网站建设启动网站集约化建设