使用 #define 还是枚举常数定义 true/false 可以随便, 无关大雅 (参见 问题 2.16 和 17.8)。 使用以下任何一种形式
#define TRUE 1 #define YES 1 #define FALSE 0 #define NO 0 enum bool {false, true}; enum bool {no, yes};或直接使用 1 和 0 , 只要在同一程序或项目中一致即可。 如果你的调试器 在查看变量的时候能够显示枚举常量的名字, 可能使用枚举更好。
有些人更喜欢这样的定义
#define TRUE (1==1) #define FALSE (!TRUE)或者定义这样的 ``辅助" 宏
#define Istrue(e) ((e) != 0)
但这样于事无益, 参见下边的问题 9.2, 5.9 和 10.1。
翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)