大家好,又见面了,我是你们的朋友全栈君。
1.bool型函数
bool型函数(即返回值为bool类型的函数)的作用——获取函数返回值
代码语言:javascript复制bool getvalue(bool b){
if(b == true)
return true;
else
return false;
}
int main(){
//在main()中调用函数就可以得到5261函数的返回结果4102
cout<<boolalpha<<getValue(true);
return 0;
}
2.return true 和return false
bool类型的函数返回值只有两种可能:true(真)
或false(假)
。
bool可用于定义函数类型为布尔型,函数里可以有 return true; return false 之类的语句。
return true;和return false;是两种状态,函数返回一个bool类型表示对于给定的输入做出判断,代表一种状态,很多情况下需要判断某些状态来选择性的执行操作的。但是如果不需要这种状态,可以不用返回任何值,void即可。
bool类型常作为循环、选择语句的判断依据。比如if(a());这个if语句就需要判断a()的返回值为true还是false,若是true,才会执行if语句内的操作。while()语句也需要bool类型来判断。
示例如下:
代码语言:javascript复制#include<iostream>
using namespace std;
int main(){
cout<<"2>3="<<boolalpha<<(bool)(2>3)<<endl;
return 0;
}
示例:
代码语言:javascript复制#include<iostream>
using namespace std;
bool cmp(int a,int b){
if(a > b){
return true;
}else{
return false;
}
}
int main()
{
int a = 5;
int b = 6;
if(cmp(a,b)){
cout << "a> b!" << endl;
}else{
cout << "a< b!" << endl;
}
return 0;
}
3.bool与BOOL的区别
BOOL是微软定义的typedef int BOOL,用途是解决程序在C与C 中环境的差异。
BOOL与bool不同,它是一个三值逻辑,TRUE/FALSE/ERROR,定义于WinDef.h头文件中。返回值为1的整数为TRUE,0为FALSE,-1为ERROR。 实际上BOOL为int型,占4个字节,标准赋值:TRUE和FALSE。TRUE和FALSE在预处理阶段都会分别被1和0替换。由此可见BOOL和bool区别为:
示例1:
代码语言:javascript复制 boolx=-19,y=0,z=10;
cout<<"x值:"<<x<<endl;
cout<<"y值:"<<y<<endl;
cout<<"z值:"<<z<<endl;
输出结果为:
代码语言:javascript复制 x值:1
y值:0
z值:1
其中x,z的值为true,被转换为1输出,y的值为false,被转换为0输出
示例2:
代码语言:javascript复制BOOL x=-19, y=0, z=10,a=1;
得到的结果为:
代码语言:javascript复制 x值:-19
y值:0
z值:10
a值:1
由此可知: 1)bool的取值只有true和false两种,非零值被转为true,零被转为false 2)BOOL是int型,当值为0时,可认为是FALSE,当值为1的时候,可看做TRUE
注意: 1)如果是写标准的C ,那么就全用bool; 2)如果是写vc ,就尽量使用BOOL,避免转换产生的性能警告。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133648.html原文链接:https://javaforall.cn