【发布时间】:2012-06-23 04:22:53
【问题描述】:
// <windef.h>
typedef int BOOL;
因为 int 是 32 位,这不是浪费内存吗?
以防万一我错了,我尝试将普通的 bool* 发送到需要 BOOL* 的函数,直到我使用 typedef int 才起作用。
【问题讨论】:
-
曾几何时,
bool不是 C 类型。见stackoverflow.com/questions/1608318/is-bool-a-native-c-type -
阿曼我很笨,我真的很笨
-
你知道那个 typedef 已经存在多久了吗?
-
@luskan 永远不要这样做。当程序将您的 -1 解释为 TRUE 时,习惯了 1/0 的 sane BOOL 的人会被彻底搞砸。如果您必须这样做,请使用不同的名称,并将其设为枚举。
-
@JonathonReinhart Pfft。我似乎他们一直在 thedailywtf.com 上这样做。以有用的 FILE_NOT_FOUND 案例为例... ;-) 但实际上,一些 WinAPI(或者它只是 VB6?)使用我认为的 troolean...?
标签: c++ windows winapi boolean int