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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于Linux安装redis

    基于Linux安装redis一、下载redis压缩包进入redis官网https://download.redis.io/releases/选择要下载的版本将下载好的压缩包使用Xftp上传至Linux系统中或者直接在Linux中使用命令直接下载wgethttps://download.redis.io/releases/redis-4.0.0.tar.gz使用tar命令解压tarxzfredis-4.0.0.tar.gz二、安装redis进入redis文件夹中,使…

    2022年6月16日
    20
  • POJ1149 PIGS 【最大流量】

    POJ1149 PIGS 【最大流量】

    2022年1月10日
    38
  • hibernate和mybatis的区别及特点_hibernate配置文件中,不包含下面的

    hibernate和mybatis的区别及特点_hibernate配置文件中,不包含下面的很长一段时间,网上有很多关于Hibernate与Mybatis孰优孰劣的争论,两个阵营的人谁也不能说服谁,每个人的理由都很有道理。今天,我分享的主题是:在一个项目中同时使用Hibernate和Mybatis两个ORM框架。作为一个开发者,没有必要花费过多的时间去证明技术无用论,当你开始指责某个框架垃圾,另外一个框架最好时,隐性的暴露出你对某个框架没有深入的研究,无知的指责对于技术的提升没有…

    2025年8月29日
    4
  • datax(3): win环境cmd乱码「建议收藏」

    datax(3): win环境cmd乱码「建议收藏」通过前面两篇文章,大家应该已经可以安装成功datax,但是在win的cmd下竟然中文乱码。解决它!!!一,环境win10datax3.xcmdpy3.x二,现象运行python\xxx\datax.py\xxx\job.json后控制台乱码三,解决1,临时解决命令:chcp(更改该控制台的活动控制台代码页)过程:cmd下输入chcp65001改变当前代码页变为utf-8编码常用的编码及对应的码值(10进制):十进制码值 对应编码名称950 .

    2022年5月13日
    100
  • 详解composer的自动加载机制

    详解composer的自动加载机制

    2021年10月27日
    33
  • HTML 表格表单代码实例(个人简介表)

    HTML 表格表单代码实例(个人简介表)<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><metahttp-equiv=”X-UA-Compatible”content=”IE=edge”><metaname=”viewport”content=”width=device-width,initial-scale=1.0″><title&…

    2022年7月27日
    19

发表回复

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

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