不使用 typeid
的原因有很多。除了使用 type_info
的成员(实现定义的行为)之外,通常(总是?)可以使用其他 C++ 语言特性来提供类似的功能,例如:重载、虚函数等。
那么,除了依赖于实现定义的行为的用法,有没有人有一个现实世界的例子,其中 typeid
是最好的解决方案?
最佳答案
So, excluding usage that relies on the implementation defined behavior, does anybody have a real world example where typeid is the best solution?
我有时会在调试输出中使用它,以验证传递给我的函数的模板参数确实属于给定类型。这对我来说是有意义的,因为传递给我的函数的实际模板参数是由专门的元函数生成的,我想确保使用正确的元函数。
关于c++ - 什么时候使用 'typeid' 是最好的解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6751061/