码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 现代C++编程实践(八)—关于noexcept修饰符和noexcept操作符


    noexcept修饰符和noexcept操作符可以说是两个概念,C++标准委员会给noexcept的这两种用法的定义如下:

    noexcept修饰符:指定函数是否抛出异常。

    noexcept操作符:运算符进行编译时检查,最终返回一个布尔值,根据布尔值决定是否抛出异常。

    https://zh.cppreference.com/

    在实际编程时通常用来排除逻辑上存在的不合理的场景。其实同样的功能在C98中就已经通过断言进行实现,断言是通过assert关键字实现,如果assert后面的表达式返回值为真程序就会终止执行。同样在C++中,也有一套单独的异常处理方式,通过throw关键字实现可以实现比C更加强大的异常处理功能。

    大家可以看下现在公司的代码,是否存在下面这种异常抛出的写法:

    void func() throw (int, double);

    上面这段代码就表示函数func可能抛出的异常类型为整型或者浮点型。现在很多java代码还是这种写法。实际上,在C++中,这种写法是很少见的。也正因为此在C++11中,该写法被正式弃用。同时throw()也被noexcept替代,不过从C++17开始,标准委员会对throw()进行了重新定义,使其在功能上和noexcept等价。由此可见,在C++发展过程中,对于一些语法、特性的废弃或者不推荐只是暂时的,在未来的版本中仍然可能被重新使用。

    1 noexcept修饰符

    noexcept跟在函数名后面表示函数不会抛出异常,通常的写法为:

    void f() noexcept;

    这种写sh法默认noexcept表达式返回true。不抛出

  • 相关阅读:
    数据处理技巧(7):MATLAB 读取数字字符串混杂的文本文件txt中的数据
    Spring 与 JDK 线程池的简单使用
    GFS 分布式文件系统
    导数、偏导数、方向导数
    Redis(二)-基本数据类型的使用
    Java 8 和 11 开始提供的新特性面试
    React技术栈 --》组件生命周期和Vue拓展 ## Day6
    神网站PaperWithoutCode:举报无法复现的论文,让一作社死??
    【PyTorch】深度学习实践之多维度输入Multiple Dimension Input
    代码随想录算法训练营第56天 | ● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 动态规划之编辑距离总结篇
  • 原文地址:https://blog.csdn.net/m0_73257876/article/details/127034102
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号