问是否sizeof运算符在预处理器#if指令中是否有效?
答否。预处理在编译的早期阶段进行,在类型名称被解析之前。与其使用sizeof,不如考虑使用 ANSI 的预定义常量<limits.h>(如果适用),或者使用“configure”脚本。(更好的是,尝试编写对类型大小不敏感的代码;另请参见问题 1.1 和 1.3。)
附加链接:Chris Torek 的精彩解释
参考文献:ISO Sec. 5.1.1.2, Sec. 6.8.1H&S 第 7.11.1 节,第 225 页
由 托管