布尔范例工具可以被赋予文字值true可能false,所对应的干系就是真与假的观念。
我们凡是利用的要领是操作他来判定条件的真与假,譬喻下面的代码:
#include <iostream>
using namespace std;
void main(void)
{
bool found = true;
if (found)
{
cout << "found条件为真!" << endl;
}
}
可是一些观念不清的人却不知道布尔范例的工具也可以被看做是一种整数范例的工具,可是他不能被声明成signed,unsigned,short long,假如你生成(short bool found=false;),那么将会导致编译错误。
其为整数范例的观念是这样的:
当表达式需要一个算术值的时候,布尔范例工具将被隐式的转换成int范例也就是整形工具, false就是0,true就是1,请看下面的代码!
#include <iostream>
#include <string>
using namespace std;
void main(void)
{
bool found = true;
int a = 1;
cout << a + found << endl;
cin.get();
}
a+found 这样的表达式样是创立的,输出后的值为2举办了加法运算!
那么说到这里许多人会问指针也可以吗?答复是必定的这样一个观念对付指针同样也是有效的,下面我们来看一个将整形指针工具看成布尔工具举办利用的例子:
#include <iostream>
using namespace std;
void main(void)
{
int a = 1;
int *pi;
pi=&a;
if (*pi)
{
cout << "*pi为真" << endl;
}
cin.get();
}
上面代码中的*pi举办了隐式样的布尔范例转换暗示为了真也就是true。