bool 是C++里的类型.而BOOL是VC6的IDE帮我们定义的类型.现在的电脑先进了,要用BOOL,不要用bool ,因为方便以后扩展. bool在内存中物理上占了8个位,而不是一个位,但逻辑上他只有一个位. bool b = 10;在内存中b 只会是 1,非0的话就是1.如果是BOOL,VC6中的头文件,有些是定义成 int ,有些定义成 long 用BOOL的好处是,以后万一我们发现我们的功能要改,这个值不止2种状态,那么我们可以马上加上第三种状态或其他状态也不会出问题,但如果是bool,就只能有0与1两种状态了.
typedef int BOOL;
VC编译器中bool只占一个字节,BOOL占4个字节。
http://blog.sina.com.cn/s/blog_6048475b0100e4ps.html
C中没有布尔类型的,所以用整形定义了BOOL,而C++中本来就有bool类型,VC(MFC或API编程中)兼顾C与C++所以会有这种的区别
在VC中BOOL 原型为int ,Windows Data Types
BOOL是int类型,是TRUE或者FALSE,TRUE=1,FALSE=0
而BOOL是微软自定义的一个数据类型
typedef int BOOL;
#define FALSE 0
#define TRUE 1
TRUE 是 != 0 FALSE 是 0
bool在内存中物理上占了8个位,而不是一个位,但逻辑上他只有一个位.
bool b = 10;在内存中b 只会是 1,非0的话就是1.如果是BOOL,VC6中的头文件,有些是定义成 int ,有些定义成 long
用BOOL的好处是,以后万一我们发现我们的功能要改,这个值不止2种状态,那么我们可以马上加上第三种状态或其他状态也不会出问题,但如果是bool,就只能有0与1两种状态了.