true false 与TRUE FALSE 的区别

     BOOL 是window中的数据类型,BOOL的原型是typedef long BOOL,所以

      int i=6;
      BOOL b=(BOOL)i;

      是可以的。

      bool是C++中的一个关键字它可以有两种值true和false也都是关键字,所以

      int i=6;
      bool b=(bool)i;

     会有警告。   

      通常状况下使用BOOL类型是要报错的必须要加上<windows.h>头文件才可以。

     

      在C++中BOOL,TRUE,FALSE 和 bool ,true, false两组都可以用 原因是在以前的C++标准中,没有定义"bool"类型,因此,Microsoft使用了类型定义,定义了"bool"类型:     
     

     typedef int BOOL;

     #define FALSE      0
     #define TRUE       1

     后来,C++标准对于C++作了扩充,定义了三个关键字,用于"bool"类型:bool , true, false
所以编码的时候大小写要一致用大写的就不用小写
   

     true和false是最严谨的了,可以参考Exceptional C++, 真和假不是int或者其他类型可以代替的。bool的sizeof值是1byte,Win32编程里 typedef int BOOL,FALSE和false是不同类型。   
强制类型转换是可以的。而如果要明确类型的不一样可以更严谨些
     int i=6;
     bool b = (i != 0);
 


相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页