bool和BOOL的问题
bool和BOOL有什么区别吗? 问题点数:20、回复次数:8Top
1 楼badguy2002(风一样的男孩)回复于 2003-12-02 23:36:24 得分 0
没有区别
bool是c++里面的
BOOL是MFC中定义的,实际使用:
typedef bool BOOLTop
2 楼tuxw(醉书生)回复于 2003-12-03 00:22:25 得分 2
bool 是标准C++内置的类型,BOOL是以前没有bool时的替代品,通常是一个int的typedef
一般这两种都可以使用,bool要正式些,但MFC中大量使用了BOOL,所以暂时还能抛弃它,将一个BOOL或int型赋值给bool型变量时,编译会给出一个警告
Top
3 楼codewarrior(会思考的草)回复于 2003-12-03 08:43:31 得分 3
如前面人说的那样,bool是C++的内建类型,和int一样的。但是因为C++是从C继承下来的,所以C++一开始并没有bool关键字,大家都还是象C那样,用各种别的类型模拟bool,一般都是用typedef的方法,所以有大写的BOOL。
也正因为如此,要把布尔判断语句写成if(!bCondition)和if(bCondition),而不能和某个值作具体的比较。因为各个编译器内部的实现是不同的。
Top
4 楼fengge8ylf(秀视工作室,承接P2P项目)回复于 2003-12-03 09:07:41 得分 5
bool一个字节 BOOL四个字节Top
5 楼HanZhu1(寒竹)回复于 2003-12-03 09:14:04 得分 0
没有区别
Top
6 楼lygfqy(风清扬)回复于 2003-12-03 09:15:03 得分 5
同意楼上的
bool是一个字节型的量
而BOOL是int型的
大小都不一样的Top
7 楼zhang_dq(虾米)回复于 2003-12-03 09:44:04 得分 0
bool 的值是true 或false
BOOL 的值是 1 或0Top
8 楼wanggang66()回复于 2003-12-03 10:32:45 得分 5
"bool 的值是true 或false"是正确的
BOOL 的值是 非0 或0,之所以说非0 是因为在MFC中BOOL 的值不一定是1,有可能是别的数,你可以看看MSDN中一些返回BOOL的函数,取值不一定是0,1的。
Top




