C++11中noexcept运算符怎么使用

发布时间:2021-11-25 16:06:10 作者:iii
来源:亿速云 阅读:101

本篇内容主要讲解“C++11中noexcept运算符怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11中noexcept运算符怎么使用”吧!

异常符说明的实参

前一篇文章没有提到,实际上noexcept说明符是可以接受一个bool类型的参数的。

C++11中noexcept运算符怎么使用

实参为true则说明该函数不会抛出异常,反之则说明该函数可能抛出异常。这种方式在处理是否抛出异常不一定的情况下很有用,例如以下模板函数:

C++11中noexcept运算符怎么使用

在fun中,如果T的类型为简单数据(例如int)则赋值语句不会抛出异常;如果T的类型为一个类(例如string),赋值语句就可能抛出异常。代码中使用is_pod来判断数据是否为POD(Plain Old Data type)来决定fun是否为noexcept。示例代码如下:

C++11中noexcept运算符怎么使用

输出结果如下:

C++11中noexcept运算符怎么使用

noexcept运算符

C++11还另外提供了noexcept运算符,用于确认一个处理是否会抛出异常。例如下面的代码:

C++11中noexcept运算符怎么使用

fun2是否会抛出异常,决定于fun是否会抛出异常。代码首先通过noexcept运算符来计算fun(a,b)是否抛出异常,计算结果是一个布尔值,正好作为noexcept说明符的参数。示例代码如下:

C++11中noexcept运算符怎么使用

输出结果如下:

C++11中noexcept运算符怎么使用

到此,相信大家对“C++11中noexcept运算符怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. C++11常用语法- explicit类型转换运算符如何使用
  2. union怎么在C++11中使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++ noexcept

上一篇:C++为什么只有直接访问表达的函数才成为成员

下一篇:C++为什么具体类型要好于类继承

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》