输出的就是正确的"class Derived" 另外还要注意的就是typeid作用于指针时,因为这往往是错误的 还是上面那个例子 1. Base *b = new 2. cout << boolalpha << (typeid(b) == typeid(Derived)) << endl; 1. 2. 输出的是false 使用时应该先解引用,即 1. cout << boolalpha << (typeid(*b) == typ...
const type_info &objInfo = typeid(obj); cout<<objInfo.name()<<" | "<<objInfo.raw_name()<<" | "<<objInfo.hash_code()<<endl; //获取一个类的类型信息 const type_info &baseInfo = typeid(Base); cout<<baseInfo.name()<<" | "<<baseInfo.raw_name()<<" | "<<baseInfo.hash_c...
C语言获取变量的类型 首先导入头文件 #include<typeinfo> 获取变量类型 typeid(var).name() 完整代码 借用C++的std::cout进行打印 #include<iostream>#include<typeinfo>usingstd::cout;intmain(){floatvar; cout <<typeid(var).name();return0; }
c++中,可以利用typeid()来判断变量类型。 第一步:创建test.cpp文件,输入以下代码: #include<typeinfo>#include<iostream>usingnamespacestd;intmain(){inti;cout<<typeid(i).name()<<"\n";//输出结果为i(表示int),即类型的名称首字母return0;} 第二步:利用g++编译test.cpp,生成可执行文件(默认为a.out):...
cout<<typeid( GetString() ).name()<<endl;//cout << "Hello world!" << endl;return0; } 结果: 我靠 我hello呢??? 我猜测是这样。因为我是局部变量定义的。这个函数运行完就释放内存了。所以hello本来就不应该有了。一个指针类型的局部变量,她返回的是局部变量的地址。可是局部变量用完就被释放了。
cout << typeid(b).name() << endl; return 0; } 输出: f i 上例中变量 a 和 b 的数据类型将与 function1 和 function2 的返回类型相同。 decltype 运算符的另一个示例如下,它提取 C++ 中表达式的类型。 #include <bits/stdc++.h> using namespace std; ...
}; class doSomething(Flyable *obj) // 做些事情 { obj->takeoff(); cout << typeid(*obj).name() << endl; // 输出传入对象类型("class Bird" or "class Plane") if(typeid(*obj) == typeid(Bird)) // 判断对象类型 { Bird *bird = dynamic_cast<Bird *>(obj); // 对象转化 bird->...
c/c++判断变量的数据类型可以采用下面的代码:include <typeinfo> using namespace std;...cout << typeid(d).name() << endl;
//在类模板外部定义各种类成员的方法,//typeid(变量名).name()的作用是提取变量名的类型,如int a,则cout<<typeid(a).name()将输出inttemplate<class T> A<T>::A(){cout<<'class A goucao'<<typeid(T).name()<<endl;} //在类模板外部定义类的构造函数的方法template<class T> T A<T>::g(T...
name(), 0, 0, &status); } int main() { int *(*a)(); cout << demangle(typeid(a)) << endl; return 0; } 于是输出就变成了: 代码语言:javascript 复制 int* (*)() 当然,也可以通过c++filt指令。 代码语言:javascript 复制 λ c++filt -t PFPivE int* (*)() 阅读重整化类型(GCC,...