C++中輸出變量類型的方法
在c++中輸出變量或者數據類型,使用typeid().name()的方法。如下例子:
#include <iostream>
#include <string>
using namespace std;
class C{};
int main(int argc, char const *argv[])
{
char c = 'a';
int i = 7;
int *ii = &i;
long l = 5;
float f = 3.14;
double d = 3.1415;
string str = "HelloWorld";
C cl = C();
cout << typeid(c).name() << endl;
cout << typeid(i).name() << endl;
cout << typeid(ii).name() << endl;
cout << typeid(l).name() << endl;
cout << typeid(f).name() << endl;
cout << typeid(d).name() << endl;
cout << typeid(str).name() << endl;
cout << typeid(str[1]).name() << endl;
cout << typeid(cl).name() << endl;
return 0;
}
輸出結果為:
c
i
Pi
l
f
d
NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
c
1C
這個結果並不像別的文章展示的char、int、long等等的這樣將類型全稱打出。簡單類型只打印出開頭首字母,而指針類型顯示的是Pi即Pointer的縮寫,string則是一長串字符串。而自己定義的類的對象則是打印出類名。