C学习目标最简单实用的布尔bool

中科白癜风抗复发治疗 http://m.39.net/disease/yldt/bjzkbdfyy/

在前面的学习目标中已经提到了布尔(bool)变量的用法。

(1)语法定义

布尔(bool)变量是一种逻辑性变量,它仅可以被赋值为true或false,分别表达真值和假值。它可以被隐式转换成数值,true转换成1,而false转换成0。

在C语言或比较老的C++代码里,还有一种布尔类型定义为BOOL(大写),在VS的库文件“wtypes.h”里可以看到,BOOL实质是长整型long,它也对应两个取值TRUE(大写)和FALSE(大写)。

(2)实用示例

写段代码实际使用下bool和BOOL类型:

运行一下(Ctrl+F5)看看输出:

可以看出,bool和BOOL是可以直接比较的,因为编译器将两者用1或0替代。

MoreEffectiveC++35个改善编程与设计的有效方法京东¥购买已下架

(3)实用说明

不要使用bool类型的隐式转换,bool变量转换成数值可使用以下表达式替换:bValue?1:0

请尽量使用bool而不是BOOL,可以极大避免使用BOOL变量不当导致的“变量值既非TRUE又非FALSE”问题。不建议将bool和BOOL混用。因为编程的实质是体现人对业务需求的设计实现,bool的语法约束更适合表达逻辑上的布尔含义。(4)VS库代码示例

在VS标准库STL代码中,布尔类型使用的全是bool。如库文件“vector”:

但在MFC库代码里有大量的BOOL类型存在。基本上所有布尔类型的函数返回值,成员变量均使用BOOL。如库文件“afxwin.h”:

学习目标“最简单实用的布尔类型介绍”已完成[再见]




转载请注明:http://www.aierlanlan.com/rzdk/3638.html

  • 上一篇文章:
  •   
  • 下一篇文章: