首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >typeinfo / typeid输出

typeinfo / typeid输出
EN

Stack Overflow用户
提问于 2010-10-08 00:07:10
回答 1查看 8.7K关注 0票数 9

我目前正在尝试调试一段简单的代码,并希望看到特定的变量类型在程序中是如何变化的。

我使用了Typeinfo头文件,这样我就可以利用typeid.name()。我知道typeid.name()是特定于编译器的,因此输出可能不是特别有用或标准。

我正在使用GCC,但尽管进行了搜索,但我仍然找不到潜在输出的列表,假设存在一个typeid输出符号列表。我不想根据输出做任何类型的转换,也不想操纵任何类型的数据,只需要遵循它的类型。

代码语言:javascript
复制
#include <iostream>
#include <typeinfo>

int main()
{ 
    int a = 10;
    cout << typeid(int).name() << endl;
}

有没有符号列表?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-08 00:16:26

我不知道这样的列表是否存在,但您可以编写一个小程序将它们打印出来:

代码语言:javascript
复制
#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*);
    //...
}
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3883585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档