Is there a relation between RTTI and exceptions?

南笙酒味 提交于 2019-11-30 08:51:00

No, Exceptions do not need RTTI functionality neither vice versa both are separate features.

Some of the implementations might allow you to disable exceptions(-fnoexceptions in gcc) but I don't know of any implementation which needs RTTI for exceptions or vice versa.

They are not dependent on each other but they are both heavy features so if there is a platform that has bad performance they will probably both be cut together.

I was just reading this C++ proposal "Zero-overhead deterministic exceptions: Throwing values" (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0709r0.pdf?), in which I read:

"C++ allows there to be multiple active exception objects of arbitrary types, which must have unique addresses and cannot be folded; and it requires using RTTI to match handlers at run time, which has statically unpredictable cost on all major implementations and can depend on what else is linked into the whole program."

and elsewhere it is stated that:

"4) Today’s dynamic exceptions require using some form of RTTI to match handlers."

Thus, it appears there is a relation between exceptions and RTTI

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!