BOOL 和bool 到底有多大的区别?
在这里汇总一下,希望高手们能把想到的区别都咧出来!
谢谢!

解决方案 »

  1.   

    BOOL与int相同,32位程序就是32位。
    bool只有1位有效,但内存分配是以字节为单位的,所以要占1字节,只有最低位有效。
      

  2.   

    一BOOL和bool的区别:
      1、类型不同
      BOOL为int型
      bool为布尔型
      2、长度不同
      bool只有一个字节
      BOOL长度视实际环境来定,一般可认为是4个字节
      3、取值不同
      bool取值false和true,是0和1的区别
      BOOL取值FALSE和TRUE,是0和非0的区别而bool是标准C++数据类型,可取值true和false。单独占一个字节,
      如果数个bool对象列在一起,可能会各占一个bit,这取决于编译器。
      BOOL是微软定义的typedef int BOOL。与bool不同,它是一个三值逻辑,
      TRUE/FALSE/ERROR,返回值为>0的整数为TRUE,0为FALSE,-1为ERROR。
      Win32 API中很多返回值为BOOL的函数都是三值逻辑。比如GetMessage().
      

  3.   

    typedef long BOOL
    typedef unsigned char boolMS是酱紫