BOOL 是布尔型变量的定义符
BOOL 是布尔型变量(逻辑型变量)的定义符,类似于 float、double 等数据类型。不同之处在于,float 定义浮点型,double 定义双精度浮点型。在 Objective-C 中,有类似的类型 BOOL,它具有 YES 和 NO 值。布尔型变量的值只有真(true)和假(false),可用于逻辑表达式,比如“或”“与”“非”等逻辑运算和大于、小于等关系运算,逻辑表达式运算结果为真或假。(来源:百科)
实际作用
在 C++ 中,非零值为 True,零值为 False。例如:
// 声明一个布尔型变量 b
bool b;
// 判断 1 是否大于 2,结果为 false
b = (1 > 2); // 此时 b 为 false
// 判断 2 是否大于 1,结果为 true
b = (2 > 1); // 此时 b 为 true
布尔型变量的实际作用体现在数据结构和逻辑判断中。例如,在写数据结构时,需要判断链表是否为空,这时可以用到 bool 函数。此外,看到 bool 就知道该函数返回值用于判断真假。
使用 bool 的好处
比如写一个比较两个字符是否相等的函数,如果不相等就返回真,否则返回假,可以写成:
// 比较两个字符是否相等的函数
int function(char a, char b) {
// 返回两个字符的差值
return a - b;
}
但 bool 函数只返回 true 和 false。而 int 会返回各种数字,但实际关心的只是数字是否为 0。因此,用 bool 更加简洁、规范,看到 bool 就知道这是一个判断真假函数。
假设一个程序中需要调用 100 多个自定义函数,其中有几十个判断真假函数,如果全用 int,结果可想而知!
举例:
#include <iostream>
using namespace std;
// 定义一个名为 isLessThan 的函数,接受两个整数参数并返回一个布尔值
bool isLessThan(int a, int b)
{
return a < b; // 如果 a 小于 b,返回 true,否则返回 false
}
int main()
{
int x = 8, y = -5; // 定义两个整数变量 x 和 y,并分别初始化为 8 和 -5
// 可以用来作 if 语句的判断
if (isLessThan(x, y)) // 如果 x 小于 y
cout << "x 小于 y" << endl; // 输出 "x 小于 y"
else // 否则
cout << "x 不小于 y" << endl; // 输出 "x 不小于 y"
// 也可以做循环条件的判断
while (isLessThan(x, y)) // 当 x 小于 y 时
{
cout << "内部 while 循环: x 小于 y" << endl; // 输出 "内部 while 循环: x 小于 y"
// 退出循环以避免死循环
break; // 退出循环
}
// 其他
cout << "进行一些其他操作..." << endl;
x = 5; // 修改 x 的值
y = 10; // 修改 y 的值
if (isLessThan(x, y)) // 如果修改后的 x 小于 y
cout << "修改后: x 小于 y" << endl; // 输出 "修改后: x 小于 y"
else // 否则
cout << "修改后: x 不小于 y" << endl; // 输出 "修改后: x 不小于 y"
return 0;
}