c++ - 什么时候使用 'typeid' 是最好的解决方案?

标签 c++ typeid

不使用 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/

相关文章:

c++ - 为什么 lock_guard 可以通过 unique_lock 得到一个已经锁定的互斥体?

c++ - 有没有办法使用 RTTI 获取基于签名的类型信息损坏的函数名称?

c++ - typeid(equalizing) 中类型定义及其含义的区别

c++ - 生成由字母和数字组成的随机单词

c++ - "Invalid initialization of non-const reference of type ' std::vector& ' from an rvalue of type ' std::vector"错误

C++将 namespace 使用到嵌套的相同 namespace 中

c++ - boost.asio 和 pfring 冲突

C++ 确定变量的类型并在 sizeof() 中使用它

c++ - 为什么在使用 "typeid"时必须输入数组长度?