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/