- 此问题在此处已有答案**:
Method chaining in C++?(2个答案)
17小时前关门了。
例如在C++中我们使用:
int a = 12;
typeid(a).name();
获取变量的类型
我的问题是typeid到底是什么(我几乎可以肯定它是一个函数,但Clion什么也没显示),如果它是一个函数,它是如何继承的,或者是name()函数
我试图获取type id是什么,但Clion什么也没显示(例如,当建议在Clion中弹出时,当u键入na时,它显示建议,并在name前面显示和f,因此我知道它是一个函数,但对于typeid,它为空)
编辑:有没有办法做类似的东西?几乎所有的3个答案都很好,我很感激所有的答案
3条答案
按热度按时间mzillmmw1#
根据cppreference,类型ID
引用代表类型type的std::type_info对象。如果type是引用类型,则结果引用代表被引用类型的cv非限定版本(C++11起)的std::type_info对象。
因此
typeid(x)
返回一个std::type_info
对象,其中包含可以查询的方法:https://en.cppreference.com/w/cpp/types/type_info
t40tm48m2#
typeid
有点特殊,因为它是keyword,这可能是为什么你无法在CLion上找到太多关于它的信息。同样,你也无法找到很多关于其他关键字的信息,如int
或if
。尽管如此,使用
typeid(some_variable)
的结果将是std::type_info
(一个非常好的类),它将允许您继续调用像.name()
这样的成员函数。zbsbpyhn3#
该构造执行以下操作:第一函数调用具有对象的返回值,该对象具有作为成员函数的第二函数名。
例如,在更一般的上下文中:
这将输出: