问有没有类似#ifdef对于typedef有什么区别?
答很遗憾,没有。(这是不可能的,因为在预处理时类型和typedef宏还没有被解析。)你可能需要维护一组预处理器宏(例如MY_TYPE_DEFINED)来记录是否声明了某些 typedef。
另请参见问题 1.13 和 10.13。
参考文献:ISO 第 5.1.1.2 节、第 6.8.1 节H&S 第 7.11.1 节,第 225 页
由 托管