VS 中bool和BOOL的区别

今天写了一个demo,在c语言中建立了一个bool类型的变量,后来发现程序总是出现莫名其妙的错误,之后将类型修改成BOOL,问题解决了。特查了一下bool和BOOL的区别,借用网上一段解释,如下:

bool是标准C++中的布尔量,占一个字节大小内存,只有false或者true。具有跨平台特性。

BOOL是MFC定义的宏: 
        typedef int BOOL; 

        #define FALSE 0 
        #define TRUE  1
其实是int类型,占四个字节大小内存,其值为FALSE或TRUE。不具有跨平台特性。

  • C++规定不允许只通过返回类型不同区别两个函数

  • BOOL类型要比bool类型处理快一些。因为BOOL类型正好等于一个机器能处理的最大字长。bool处理过程中需要一些转换。

原文地址:https://www.cnblogs.com/hanrp/p/11490382.html