C++学习笔记 第4课 布尔类型与引用
2021/6/12 12:22:53
本文主要是介绍C++学习笔记 第4课 布尔类型与引用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 1.布尔类型
- 1.1 布尔类型的值
- 1.2 布尔类型是基本数据类型
- 2. 三目运算符
- 3. C++中的引用
- 3.1 变量名回顾
- 3.2 问题引出
- 3.3 C++中的引用
- 3.4 引用初体验
- 3.5 C++中三目运算符做了什么
- 4. C++中三目运算符做了什么
1.布尔类型
- 在c语言的基础上,C++增加了bool类型,在C++中布尔类型可取的值只有
0和1
- 理论上布尔类型只有一个字节
- true代表
非0值
,flase代表0
1.1 布尔类型的值
- 在bool类型只有
true(非0)
和flase(0值)
两个值 - C++编译器会将
非0值
转换为true
,0值
转换为flase
示例:
#include <iostream> using namespace std; int main() { bool a = 0; cout << "a = " << a << endl; a = 1; cout << "a = " << a << endl; a = 2; cout << "a = " << a << endl; a = -1; cout << "a = " << a << endl; } 结果: a = 0 a = 1 a = 1 a = 1
1.2 布尔类型是基本数据类型
- 布尔类型是C++中的基本数据类型
- 可定义全局变量的bool变量
- 可定义bool类型的指针
- 可定义bool类型的常量
- 可定义bool类型的数组
2. 三目运算符
在C++对三目运算符进行了升级
分析下面代码:
test.c
#include <stdio.h> int main() { int a = 1; int b = 2; (a<b?a:b)=3; printf("a=%d,b=%d\n",a,b); return 0; } 结果: main.c: In function ‘main’: main.c:7:12: error: lvalue required as left operand of assignment 7 | (a<b?a:b)=3; | ^
test.cpp
#include <stdio.h> int main() { int a = 1; int b = 2; (a<b?a:b)=3; printf("a=%d,b=%d\n",a,b); return 0; } 结果: a=3,b=2
- 从结果可以看出,在c语言中的三目运算符返回的是变量值,不可以作为
左值
使用, - 在C++中三目运算符可以直接返回变量本身,既可以作为
左值
也可以作为右值
,但是需要注意的是 - 注意:如果三目运算符中返回的中有一个值是常量值,则不能作为左值使用
如下,会发生错误
(a < b ? a : 2) = 3;
3. C++中的引用
3.1 变量名回顾
- 变量实际上是一段连续的内存空间
- 程序中可以通过变量申请并命名存储空间
- 可以通过变量的名字来使用存储空间,变量实际上相当于这段存储空间的
别名
3.2 问题引出
一段连续的内存空间只能用一个别名吗?
答:可以用其他别名,即C++中的引用
3.3 C++中的引用
- 引用可以看做一个已经定义变量的别名
- 使用:Type& name = var
语法:
int a = 4; int& b = a;//b为a的别名,a和b的类型都为int b = 5;//操作b相当于操作a
- 需要注意的是普通引用在定义时必须用
同类型的变量进行初始化
3.4 引用初体验
test.cpp
#include <iostream> int main() { int a = 4; int& b = a; std::cout << "a =" << a << std::endl; std::cout << "b =" << b << std::endl; std::cout << "&a ="<< &a << std::endl; std::cout << "&b =" << &b << std::endl; return 0; } 结果: a =4 b =4 &a =00BCFC00 &b =00BCFC00
当a和b类型不同时:将
float& b = a;
在vs2019中直接报错
3.5 C++中三目运算符做了什么
- 三目运算符可能返回都是变量时,返回变量引用
- 三目运算符的可能返回中有常量时,返回值
int a = 1; int b = 2; (a < b?a:b)=3;//正确,返回a或者b的引用,可以作为左值 (a < b?1:b)=3;//错误,返回1或者b的值,不能作为左值
4. C++中三目运算符做了什么
- bool类型是C++中新增加的基础类型
- bool类型的只能是true和flase
- C++中是三目运算符可作为左值使用
- C++中的引用可以看做变量的别名使用
- 三目运算符可能返回的值都是变量时,返回的是引用
这篇关于C++学习笔记 第4课 布尔类型与引用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版