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

C++中定义一个函数为bool类型的作用「建议收藏」1.bool型函数bool型函数(即返回值为bool类型的函数)的作用——获取函数返回值boolgetvalue(boolb){if(b==true)returntrue;elsereturnfalse;}intmain(){//在main()中调用函数就可以得到5261函数的返回结果4102cout<<boolalpha<<getValue(true);return0;

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

1.bool型函数

bool型函数(即返回值为bool类型的函数)的作用——获取函数返回值

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类型来判断。

示例如下:

#include<iostream>
using namespace std;
int main(){ 
   
    cout<<"2>3="<<boolalpha<<(bool)(2>3)<<endl;
    return 0;
}

示例:

#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:

   boolx=-19,y=0,z=10;

    cout<<"x值:"<<x<<endl;

    cout<<"y值:"<<y<<endl;

    cout<<"z值:"<<z<<endl;

   

输出结果为:

 x值:1
 y值:0
 z值:1

其中x,z的值为true,被转换为1输出,y的值为false,被转换为0输出

示例2:

BOOL x=-19, y=0, z=10,a=1;

得到的结果为:

 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.net/133648.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 正确的-配置Tomcat环境变量

    正确的-配置Tomcat环境变量跟着配就完事,超级正确

    2022年5月27日
  • 临时手机号接收验证码在线短信接收_临时手机号短信验证码平台

    临时手机号接收验证码在线短信接收_临时手机号短信验证码平台  处在这个前所未有的信息化时代,网络带给我们极大便利的同时,也让我们的个人信息安全也遭受了严重的威胁。很多人对个人信息的保护意识淡薄,不知道当今个人信息泄露的广泛性,没有认识到个人信息泄露的途径以及严重危害。比如我们注册任何一个网站的时候,往往需要提供手机号码,输入接收到的短信验证码,或者邮箱地址也一样。一旦这些信息泄漏,就会经常性地收到一些垃圾信息、广告信息。  但是你为了查看或下载这个网站里面的资源,又不得不注册。怎么办呢?如果有一些匿名、临时、一次性的邮箱地址,以及可以免费收发短信验证码的…

    2022年10月13日
  • yii报错400

    yii报错400当你在使用yii2.0过程中程序出现400的错误可以在控制器内加入public$enableCsrfValidation=false;即可解决

    2022年6月3日
  • mysql docker 端口号_如何修改 docker 容器中 mysql 的端口号

    修改docker中MySQL配置文件,在mysqld项目下新增port=3307配置[mysqld]port=3307federatedmax_connections=200max_allowed_packet=64Mpid-file=/var/run/mysqld/mysqld.pidsocket=/var/run/mysqld/mysqld.sockdatadir=…

    2022年4月12日
  • 将SOP进行到底 (转载)

    将SOP进行到底 (转载)将SOP进行到底(转载)前段时期,为了强化公司中高层经理人员的“职业经理人”意识和提升大家的“职业经理人”能力,公司组织了中高层经理人员进行学习余世维先生“职业经理人”讲座的演讲交流活动,并组织相关经理人员参加了余世维先生在南京丁山香格里拉举行的“经理人常犯的11种错误”

    2022年5月26日
  • Oracle数据库双机热备方案「建议收藏」

    http://blog.chinaunix.net/uid-25806228-id-2141469.html1.方案综述OracleFailSafe是架构在MicrosoftClusterServer(MSCS)上的一个Oracle产品,为Oracle的一些产品(数据库、OracleApplicationServer等)提供高可用性。提供

    2022年4月6日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号