语法:
1 |
?? typeid( object ); |
typeid 操作返回给一个type_info 定义过的对象的那个对象的类型.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//type_info类具体实现方式依编译器而定,但一般成员都有这些 class type_info { private: type_info(const type_info&); type_info& operator=(const type_info&);//type_info类的复制构造函数和赋值运算符是私有的。 public: virtual ~type_info();//析构函数 bool operator==(const type_info&)const;//在type_info类中重载了==运算符,该运算符可以比较两个对象的类型是否相等。 bool operator!=(const type_info&)const;//重载的!=运算符,以比较两个对象的类型是否不相等 const char* name()const;//使用得较多的成员函数name,该函数返回对象的类型的名字。前面使用的typeid(a).name()就调用了该成员函数 bool before(const type_info&); }; |
具体成员函数有比较比较两个类型是否一样==、不一样!=,获取类型名name等。
具体可参考: C++怎样得到常量的类型
《typeid作用》上有1条评论
评论已关闭。