我目前正在尝试调试一段简单的代码,并希望看到特定的变量类型在程序中如何变化.
我正在使用typeinfo头文件,所以我可以使用typeid.name().我知道typeid.name()是特定于编译器的,因此输出可能不是特别有用或标准.
GCC假设存在一个typeid输出符号列表,我正在使用但是我找不到尽管搜索的潜在输出列表.我不想根据输出进行任何类型的转换或操纵任何类型的数据,只需按照其类型.
#include <iostream>
#include <typeinfo>
int main()
{
int a = 10;
cout << typeid(int).name() << endl;
}
Run Code Online (Sandbox Code Playgroud)
在任何地方都有符号列表吗?
Unc*_*ens 16
我不知道这样的列表是否存在,但你可以创建一个小程序来打印它们:
#include <iostream>
#include <typeinfo>
#define PRINT_NAME(x) std::cout << #x << " - " << typeid(x).name() << '\n'
int main()
{
PRINT_NAME(char);
PRINT_NAME(signed char);
PRINT_NAME(unsigned char);
PRINT_NAME(short);
PRINT_NAME(unsigned short);
PRINT_NAME(int);
PRINT_NAME(unsigned int);
PRINT_NAME(long);
PRINT_NAME(unsigned long);
PRINT_NAME(float);
PRINT_NAME(double);
PRINT_NAME(long double);
PRINT_NAME(char*);
PRINT_NAME(const char*);
//...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7862 次 |
| 最近记录: |