爲什麼當我運行這個main.cpp
:爲什麼typeid.name()使用GCC返回奇怪的字符,以及如何讓它打印未加密的名字?
#include <iostream>
#include <typeinfo>
using namespace std;
struct Blah {};
int main() {
cout << typeid(Blah).name() << endl;
return 0;
}
通過與GCC 4.4.4版本編譯它:
g++ main.cpp
我得到這個:
4Blah
基於Visual C++ 2008,我會得到:
struct Blah
有沒有辦法讓它只是打印Blah
或struct Blah
?
[C++中打印變量類型]的可能重複(http://stackoverflow.com/questions/81870/print-variable-type-in-c) – 2015-06-18 15:13:03
[Unmangling std :: type \ _info :: name](http://stackoverflow.com/questions/281818/unmangling-the-result-of-stdtype-infoname) – bain 2016-11-20 23:54:35