typeid 给出类型 m、j 和 Pj

typeid gives types m, j and Pj

本文关键字:Pj 类型 typeid      更新时间:2023-10-16

我试图理解一段代码并遇到了这个

size_t max = 3;
unsigned trial {3};
auto* primes { new unsigned[max] };

我读到,当你定义类似unsigned int trial {3};的东西时,你会得到一个只能是积极的int。但是这个unsigned变量不指定类型。所以我试图知道他们是什么类型:


cout << typeid(max).name() << endl;
cout << typeid(trial).name() << endl;
cout << typeid(primes).name() << endl;

但是得到了这个奇怪的输出

m
j
Pj

这是怎么回事?

unsignedunsigned int的缩写。

typeid::name返回的字符串是特定于实现的。

由于您似乎在某个Linux系统上,因此可能拆解可以帮助您:stdc++拆解。