根据当前标准,关闭C++中的异常会导致未定义的行为吗?

gni*_*ted 3 c++ exception

我经常听说可以禁用C++异常系统,因为你不应该为你不使用的东西付费.如果我选择编译我的C++程序而没有异常会导致未定义的行为?

How*_*ant 10

当前(和未来)的C++标准没有关闭异常的概念.所以从技术上讲,如果你问语言律师,这样做会导致不明确的行为.实际实现尝试为这种流行的扩展定义合理的行为.请参阅您的文档.

  • 同意,它"导致未定义的行为"与使用`long long`或threads"导致未定义的行为"的方式相同.标准未定义,但如果您的实现记录了命令行选项,那么实现至少可能是尝试定义结果行为.您必须了解对实施的影响.按照难度顺序,了解运行"long long"(最简单)到线程(最难). (3认同)