我目前正在尝试调试一段简单的代码,并希望看到特定的变量类型在程序中如何变化.
我正在使用typeinfo头文件,所以我可以使用typeid.name().我知道typeid.name()是特定于编译器的,因此输出可能不是特别有用或标准.
GCC
假设存在一个typeid输出符号列表,我正在使用但是我找不到尽管搜索的潜在输出列表.我不想根据输出进行任何类型的转换或操纵任何类型的数据,只需按照其类型.
#include#include int main() { int a = 10; cout << typeid(int).name() << endl; }
在任何地方都有符号列表吗?
我不知道这样的列表是否存在,但你可以创建一个小程序来打印它们:
#include#include #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*); //... }