--事物的难度远远低于对事物的恐惧!
我们知道,C语言中是没有bool类型的,但是C++在C语言的基本类型系统之上增加了bool类型,并且C++中的bool可取的值只有true和false,bool类型理论上只占用一个字节
-true代表真值,编译器内部用1来表示
-false代表非真,编译器内部用0来表示
-C++编译器会将非0值转化为true,0值转化为false
我们来回顾一下变量:
-变量 是一段实际连续存储空间的别名
-程序中通过变量来申请并命名存储空间
-通过变量的名字可以使用存储空间
问:一段连续的存储空间只能有一个别名吗?
C++中新增加了引用的概念
-引用可以看做一个已定义变量的别名
-引用的语法:Type& name = var;
-普通引用在定义时必须用同类型的变量进行初始化
#include <iostream> using namespace std; int main(int argc, char const *argv[]) { int a = 4; int &b = a; //b为a的别名 cout << "a = " << a << "; b = " << b << endl; b = 5; //此时操作b就是操作a cout << "a = " << a << "; b = " << b << endl; return 0; }编译输出 为:
在C++中,三目运算符有如下两个特性:
-当三目运算符的可能返回都是变量时,返回的是变量引用
-当三目运算符的可能返回中 有常量时,返回的是值
下边的代码可以解释如上特性
int a = 1; int b = 2; (a<b ? a : b) = 3; //正确,返回a或者b的引用,可以作为左值 (a<b ? 1 : b) = 3; //错误,返回1或者b的值,不能作为左值总结:
-bool类型 是C++新增加的基础类型
-bool类型的值只能是true或false
-C++中的三目运算符可作为左值使用
-C++中的引用可以看作变量的别名来使用
-三目运算符的可能返回值都是变量时,返回的是变量的引用