第4课.布尔类型和引用

1.布尔类型

c++在c语言的基础类型系统上增加了bool
bool类型取值只有true(非0)和false(0)(true代表真,编译器用1表示;false代表假,编译器用0表示)
理论上bool只占一个字节
c++编译器会把非0值转化为true,把0值转化为false

2.三目运算符

c语言中三目运算符返回的是变量值;不能做为左值使用
c++中的三目运算符可直接返回变量本身;即可做右值使用,又可作为左值使用(只有三目运算符中的成员都是变量时才可以实现)
c++中当三目运算符的可能返回变量时,返回的是变量的引用;当三目运算符的可能返回常量时,返回的是值。
注意:三目运算符可返回的值中如果有一个是常量值,则不能作为左值使用
以下情况是成员都是变量的情况下编译通过

以下情况是其中一个成员是常量时编译不能通过

3.c++中的引用

引用:可以看作一个已定义的变量的别名(给一个已经定义好的变量在取一个名字)
语法:Type& name = val;

  int a = 4;
  int& b = a;            //b为a的别名(引用的b别名的类型和a的别名需一致)
  b = 5;

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

如果引用一个常量会报错,因为和概念冲突(引用一个变量)

posted @ 2019-10-28 16:48  人民广场的二道贩子  阅读(187)  评论(0编辑  收藏  举报