第4课 - 布尔类型和引用

一、C++中的布尔类型

  1. C++在C语言的基本类型系统之上增加了 bool
  2. bool是C++中的基本数据类型,可以定义bool类型的全局变量,可以定义bool类型的常量,可以定义bool类型的指针,可以定义bool类型的数组。等等类型。
  3. C++中的bool可取的值只有true和false;true代表真值,编译器内部用1来表示,false代表非真值,编译器内部用0来表示。
  4. 理论上bool只占用一个字节。
  5. C++编译器会将非0值转换为true,0值转换为false,如图1和图2所示:

                                                      

                                                                                          图1

                                                                      

                                                                                          图2 

二、C++中的引用

  1. 变量是一段实际连续存储空间的别名,程序中通过变量来申请并命名存储空间,通过变量的名字可以使用存储空间。
  2. 引用可以看作一个已定义变量的别名,引用的语法:Type& name = var;普通引用在定义时必须用同类型的变量进行初始化。操作引用就是操作变量。如下图3和图4所示:

                                    

                                                                                          图3

                                    

                                                               图4

三、三目运算符

  1. C语言中的三目运算符返回的是变量值,不能作为左值使用。
  2. C++中的三目运算符可直接返回变量本身,既可作为右值使用,又可作为左值使用。但是三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用。
  3. 下图5的代码分别用C语言编译器和C++编译器编译将会得到不一样的结果。C语言编译的结果如图6所示,C++编译的结果如图7所示。
  4. 从(3)可知,当三目运算符可能返回都是变量时,返回的是变量引用;当三目运算符可能返回中有常量时,返回的是值。如图 8所示。

                                       

                                                                            图5

                                       

                                                                            图6

                                      

                                                                 图7

                                   

                                                                             图8

 

 

 

发布了16 篇原创文章 · 获赞 1 · 访问量 2943

猜你喜欢

转载自blog.csdn.net/liqingjielihanjie/article/details/103330760