【发布时间】:2017-07-02 12:29:01
【问题描述】:
我是一名新程序员,主要使用 Code::Blocks for C99。
我最近发现了typeof(),因为它被隐藏为 __typeof __()
我想知道您是否可以将类型保存为 typeof 的结果。类似:
type a = __typeof__(?);
或者
#define typeof __typeof__
type a = typeof(?);
这可能吗?
【问题讨论】:
-
标准 C 中没有
typeof运算符。您必须阅读 compiler(不是 Code::Blocks IDE)的文档以了解更多信息。另外,不要做你想做的事,99.99% 的情况下你不应该做的事。也许如果您解释为什么您想这样做,您想要解决的实际问题是什么,那么我们可以为您提供帮助。 -
如果
var的类型为int,那么typeof(var)就是int。你能说type a = int;或类似的话吗?这意味着什么?你为什么需要这样的东西? -
假设你想做一些类似于用 Java 写
Class c = "foo".getClass();的东西:算了,它不像 C 语言那样工作。在运行时没有可用的类型信息。