gpt4 book ai didi

c++ - noexcept 会 boost 性能吗?

转载 作者:IT老高 更新时间:2023-10-28 12:57:53 31 4
gpt4 key购买 nike

noexcept 函数说明符是否旨在 boost 性能,因为生成的对象中可能没有记录异常的代码,因此应尽可能将其添加到函数声明和定义中?我首先想到了可调用对象的包装器,其中 noexcept 可能会产生一些影响,尽管检查表达式可能会“膨胀”源代码。值得吗?

最佳答案

从理论上讲,noexcept 会 boost 性能。但另一方面,它也可能会导致一些问题。

在大多数情况下,不应指定,因为专业人士太少而无法考虑,并且可能会使您的代码升级变得痛苦。 This post由Andrzej撰写,详细介绍了原因。

如果太长,请采纳我从中得出的以下建议:

  1. noexcept 注释函数 if
    • 它们已经用 throw() 进行了注释,
    • 或者他们是不错的候选人(在帖子中列出)并且永远不会 throw ,
    • 或者它们是移动构造函数,移动赋值,其 noexcept 注释不能被编译器正确推断,它们的实例应该被放入某个 STL 容器中。
  2. 如果出现以下情况,请勿使用 noexcept 注释函数
    • 您真的很担心性能下降,
    • 或关于调用std::terminate的风险,
    • 或者您只是不确定新功能,
    • 或者你怀疑你是否应该让你的函数noexcept

关于c++ - noexcept 会 boost 性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16104057/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com