在标准C++中能否输出变量类型的名称?
大家好!我刚开始学习C++,遇到了一个问题。我需要调试代码,经常想知道变量在特定时刻的具体类型。在PHP或JavaScript中,我习惯使用var_dump()或typeof来显示类型。Python中有type()。那么在C++中怎么做呢?
我尝试了使用中的typeid,但它输出一些奇怪的东西,比如int显示为"i",const char*显示为"PKc"。例如:
```cpp
#include
#include
int main() {
int a = 5;
const char* str = "hello";
auto x = a + 3.14;
std::cout << typeid(a).name() << std::endl; // 输出 "i"
std::cout << typeid(str).name() << std::endl; // 输出 "PKc"
std::cout << typeid(x).name() << std::endl; // 输出 "d"
return 0;
}
```
为什么typeid().name()返回一些单字母缩写?如何获得正常的人类可读名称,比如"int"、"const char*"、"double"?我听说有某种