本篇内容主要讲解“C++11中noexcept运算符怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11中noexcept运算符怎么使用”吧!
异常符说明的实参
前一篇文章没有提到,实际上noexcept说明符是可以接受一个bool类型的参数的。
实参为true则说明该函数不会抛出异常,反之则说明该函数可能抛出异常。这种方式在处理是否抛出异常不一定的情况下很有用,例如以下模板函数:
在fun中,如果T的类型为简单数据(例如int)则赋值语句不会抛出异常;如果T的类型为一个类(例如string),赋值语句就可能抛出异常。代码中使用is_pod来判断数据是否为POD(Plain Old Data type)来决定fun是否为noexcept。示例代码如下:
输出结果如下:
noexcept运算符
C++11还另外提供了noexcept运算符,用于确认一个处理是否会抛出异常。例如下面的代码:
fun2是否会抛出异常,决定于fun是否会抛出异常。代码首先通过noexcept运算符来计算fun(a,b)是否抛出异常,计算结果是一个布尔值,正好作为noexcept说明符的参数。示例代码如下:
输出结果如下:
到此,相信大家对“C++11中noexcept运算符怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。