相关疑难解决方法(0)

为什么noexcept在编译时没有强制执行?

您可能知道C++ 11有noexcept关键字.现在丑陋的部分是这样的:

请注意,函数的noexcept规范不是编译时检查; 它只是程序员通知编译器函数是否应抛出异常的方法.

http://en.cppreference.com/w/cpp/language/noexcept_spec

那么这是委员会部分的设计失败还是他们只是把它作为编译作者的练习:)从某种意义上来说,正常的编译器会强制执行它,坏的仍然可以兼容?

顺便说一句,如果你问为什么没有第三个选项(也就是说不能做),原因是我可以很容易地想到一个(慢)方法来检查函数是否可以抛出.如果你将输入限制为5和7(也就是我保证文件不会包含5和7旁边的任何内容),问题就会失败,并且只有当你给它33时它才会抛出,但这不是一个现实的问题恕我直言.

c++ c++11

23
推荐指数
3
解决办法
3174
查看次数

标签 统计

c++ ×1

c++11 ×1