布尔类型对象可以被赋予文字值true或者false,所对应的关系就是真与假的概念。
我们通常使用的方法是利用他来判断条件的真与假,例如下面的代码:
#include<iostream>
usingnamespacestd;
voidmain(void)
{
boolfound=true;
if(found)
{
cout<<"found条件为真!"<<endl;
}
}
但是一些概念不清的人却不知道布尔类型的对象也可以被看做是一种整数类型的对象,但是他不能被声明成signed,unsigned,short long,如果你生成(short bool found=false;),那么将会导致编译错误。
其为整数类型的概念是这样的:
当表达式需要一个算术值的时候,布尔类型对象将被隐式的转换成int类型也就是整形对象, false就是0,true就是1,请看下面的代码!
#include<iostream>
#include<string>
usingnamespacestd;
voidmain(void)
{
boolfound=true;
inta=1;
cout<<a+found<<endl;
cin.get();
}
a+found 这样的表达式样是成立的,输出后的值为2进行了加法运算!
那么说到这里很多人会问指针也可以吗?回答是肯定的这样一个概念对于指针同样也是有效的,下面我们来看一个将整形指针对象当作布尔对象进行使用的例子:
#include<iostream>
usingnamespacestd;
voidmain(void)
{
inta=1;
int*pi;
pi=&a;
if(*pi)
{
cout<<"*pi为真"<<endl;
}
cin.get();
}
上面代码中的*pi进行了隐式样的布尔类型转换表示为了真也就是true。
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!