【发布时间】:2017-07-01 17:56:28
【问题描述】:
为什么不将BOOL 定义为enum,例如:
enum BOOL {FALSE, TRUE};
为什么必须明确将BOOL指定为int(或任何其他整数类型)?
【问题讨论】:
-
趣事:有WINAPI functions返回BOOL,但返回值必须检查为零、非零和-1。
-
我认为正确的问题是“为什么
BOOL是int而不是short或unsigned short”。不要认为enum更好——这不是 Pascal 也不是 C++。 -
@nwellnhof i.imgur.com/oxDZEVz.jpg
-
@i486,更好的是,
char。不需要 16 或 32 位来判断真假。 -
拒绝我的天才,你能说为什么吗?你知道@Remy Lebeau 的答案吗?我的问题提出了另一个有趣的问题,例如为什么是 int 而不是 char,你知道为什么吗?