C中的typeof真的是运算符吗?
我在想,因为C中没有多态性,所以在运行时无事可做。也就是说,对于typeof的答案在编译时是已知的。 (我想不出在编译时不会使用typeof。)因此,它似乎更多是一个编译时指令,而不是运算符。

typeof是否使用任何(处理器)运行时(在GCC中)?

最佳答案

由于typeof是编译器扩展,因此实际上没有定义,但是按照C的传统,它将是一个运算符,例如sizeof_Alignof也被视为运算符。

您可能会误认为,C具有仅在运行时确定的动态类型:变量修改(VM)类型。

size_t n = strtoull(argv[1], 0, 0);
double A[n][n];
typeof(A) B;

只能在运行时确定。

关于c - C语言中的typeof运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12081502/

10-11 23:03
查看更多