使用noexcept
,__declspec(nothrow)
,throw()
,__attribute__(nothrow)
等修饰符的目的是什么,可能还有一些使用不同的语义,不同的编译器支持和所谓的专业版和利弊?当我尝试在我的代码中添加任何这些时,我仍然得到相同的程序集。
答案 0 :(得分:2)
This article似乎暗示某些编译器可以在某些情况下根据此信息进行优化。我想编译器可以避免一些工作,但仅限于非常具体的情况。
同一篇文章似乎暗示 not 显式使用关键字是一个很好的选择路径,因为用例的具体程度。