前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++中定义一个函数为bool类型的作用「建议收藏」

C++中定义一个函数为bool类型的作用「建议收藏」

作者头像
全栈程序员站长
发布2022-06-27 08:26:01
1.9K0
发布2022-06-27 08:26:01
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月8,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.bool型函数
  • 2.return true 和return false
  • 3.bool与BOOL的区别
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档