【发布时间】:2012-04-25 16:41:53
【问题描述】:
我记得在同时禁用 RTTI 和异常的平台上以及同时启用它们的其他平台上编码。但是,我不记得在一个平台上编码会启用一个并禁用另一个。
这两个概念之间是否存在某种依赖关系?换句话说,异常是否需要 RTTI 才能起作用?还是相反?
【问题讨论】:
-
AFAIR MSVC 5 或 6 默认关闭 rtti 并打开异常。可能是错的,那是很久以前的事了。
-
orthogonality of RTTI and exceptions 上的这篇文章增加了这个话题。它表明,尽管公开的功能是独立的,但 gcc 中的异常实际上确实使用它们自己的“RTTI”版本来工作。