使用noexcept、__declspec(nothrow)、throw()、__attribute__(nothrow)等修饰符的目的是什么?这些修饰符都具有不同的语义、不同的编译器支持以及所谓的利弊。当我尝试在我的代码中添加其中任何一个时,我仍然得到相同的程序集。
发布于 2014-04-15 02:20:30
This article似乎暗示,在某些情况下,一些编译器可以根据这些信息进行优化。我想编译器可以避免一些工作量的工作,但只有在非常具体的情况下。
这篇文章似乎表明,由于用例的特殊性,不显式地使用关键字是一个很好的选择。
https://stackoverflow.com/questions/20165036
复制相似问题