今天写了一个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处理过程中需要一些转换。