C++ 布尔类型和引用的用法详解

1、布尔类型

c++kquote>C++中的布尔类型C++在C语言的基本类型系统之上增加了boolC++中的bool可取的值只有true和false理论上bool之占用一个字节注意:true代表真值,编译器内部用1来表示false代表非真值, 编译器内部用0来表示C语言中:用整型值来代替bool类型,常用0:flase, 1:true

c++做了类型增强,增加了一个非常严谨的bool类型,true和false作为关键字存在。

在C++的布尔类型中,bool类型只有true和false两个值,C++编译器会将非0值转换为true, 0值转换为false。

bool b = 0;printf("b = %d", b);b++;printf("b = %d", b);b = b - 3;printf("b = %d", b);// bool类型是否支持数学运算?

登录后复制

其实在C++语言中,布尔类型的内部实现是用一个字节的整型来实现的,bool类型支持数学运算,编译器会在内部进行调整,非0为true,0 为 false

代码试验:

#include int main(int argc, char *argv[]){    bool b = false;    int a = b;        printf("sizeof(b) = %d", sizeof(b));    // sizeof(b) = 1, bool类型占一个字节    printf("b = %d, a = %d", b, a);    0    // b = 0, a = 0        b = 3;    // b = 1    a = b;  // a = 1        printf("b = %d, a = %d", b, a);        b = -5;    // b = 1    a = b;  // a = 1        printf("b = %d, a = %d", b, a);        a = 10; // a = 10    b = a;  // b = 1        printf("a = %d, b = %d", a, b);        a = 0;    // a = 0    b = a;  // b = 0        printf("a = %d, b = %d", a, b);        return 0;}

登录后复制

布尔类型是C++中的基本数据类型

可以定义bool类型的全局变量

立即学习“C++免费学习笔记(深入)”;

可以定义bool类型的常量

可以定义bool类型的指针

可以定义bool类型的数组

……

2、三目运算符

C++中对三目运算符进行了升级

考虑下列代码是否正确,分别在C语言和C++环境中编译运行试验

int a = 1;int b =2;(a 

三目运算符

  • C语言中的三目运算符返回的是变量值

    • 不能作为左值使用

  • C++中的三目运算符可以直接返回变量本身

    • 既可以作为右值使用,又可以作为左值使用

注意:

三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用

三目运算符只有在所有的可能返回都是变量的时候才能作为左值使用,一个常量一个变量就不能作为左值使用

C++对三目运算符进行了这样的升级,意义何在?

三目运算符所有的可能返回都是变量的时候,返回的就是变量本身,由此引出了新概念:引用

3、引用

3.1 变量名

变量是一段实际连续存储空间的别名,程序中通过变量来申请并命名存储空间,通过变量的名字可以使用存储空间。

问题:一段连续的存储空间只能有一个别名吗?
1.png

3.2 引用

C++中的引用

  • 在C++中增加了引用的概念

    int a = 4;int& b = a;     // b作为a的别名b = 5;        // 操作b就是操作a

    登录后复制

    引用可以看作一个已定义变量的别名

    引用的语法:Type& name = var;

    注意:

    普通引用在定义时必须用同类型的变量进行初始化。

    C++对三目运算符做了些啥?

    int a = 1;int b = 2;(a < b ? a : b) = 3;    // ok,返回a或b的引用,可作为左值(a < b ? 1 : b) = 4;    // err,返回1或b的值,不能作为左值

    登录后复制

    当三目运算符的可能返回都是变量时,返回的是变量引用

    当三目运算符的可能返回中有常量时,返回的是

4、小结

bool类型是C++新增加的基础类型

bool类型的值只能是true 和false

C++中的三目运算符可作为左值使用

C++中的引用可以看作变量的别名来使用

三目运算符的可能返回都是变量时,返回的是引用

相关文章:

php boolean(布尔)类型的用法举例

PHP布尔型数据类型 false true 用法介绍

以上就是C++ 布尔类型和引用的用法详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2492948.html

(0)
上一篇 2025年3月5日 01:21:45
下一篇 2025年3月5日 01:21:59

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论