【发布时间】:2013-11-23 16:48:40
【问题描述】:
使用noexcept、__declspec(nothrow)、throw()、__attribute__(nothrow) 等修饰符的目的是什么?可能还有更多具有不同语义、不同编译器支持以及所谓的优缺点的修饰符?当我尝试在我的代码中添加任何这些时,我仍然得到相同的程序集。
【问题讨论】:
标签: c++
使用noexcept、__declspec(nothrow)、throw()、__attribute__(nothrow) 等修饰符的目的是什么?可能还有更多具有不同语义、不同编译器支持以及所谓的优缺点的修饰符?当我尝试在我的代码中添加任何这些时,我仍然得到相同的程序集。
【问题讨论】:
标签: c++
This article 似乎暗示一些编译器可以在某些情况基于此信息进行优化。我想编译器可以避免一些工作,但仅限于非常具体的情况。
同一篇文章似乎表明不明确使用关键字是一个很好的选择路径,因为用例非常具体。
【讨论】: