C++ 了解typeid()的输出。name()

C++ 了解typeid()的输出。name(),c++,types,C++,Types,我检查了一些类型的变量,得到了一些令人困惑的结果: #include <iostream> #include <typeinfo> using namespace std; int main(void) { int number = 5; int* pointer = &number; cout << typeid(number).name() << endl; // i cout <&l

我检查了一些类型的变量,得到了一些令人困惑的结果:

#include <iostream>
#include <typeinfo>
using namespace std;

int main(void) {
    int number = 5;
    int* pointer = &number;

    cout << typeid(number).name() << endl;      // i
    cout << typeid(pointer).name() << endl;     // Pi
    cout << typeid(&pointer).name() << endl;    // PPi

    return 0;
}
#包括
#包括
使用名称空间std;
内部主(空){
整数=5;
int*指针=&number;

cout它分别表示指向整数的指针和指向整数的指针。

  • i:整数
  • Pi:指向整数变量的指针
  • Ppi:指向整数变量指针的指针

  • 在标准C++方面,它们并不意味着什么。我怀疑你使用的是GCC,它使用了系统来命名类型:“代码> Type ID <代码>。如果你看像MSVC之类的东西,它们就会不同。假设你使用的是GCC: