第二章 变量和基本类型

2.1基本内置类型

² char类型通常是单个机器字节,wchar_t类型用于扩展字符集,比如汉字等。

² 整型int、short和long都默认为带符号型。

² float型只能保证6位有效数字,而double型至少可以保证10位有效数字。

2.2 字面值常量

² 不能在单词中间断开一行,但可以通过使用反斜线符号巧妙实现。

2.3变量

² C++两种表达方式左值:可以出现在赋值语句的左边或右边只能出现在赋值的右边。

² 变量名,即变量的标识符,可以由字母、数字和下划线组成,以字母和下划线开头,并且区分大小写字母

² C++两种初始化变量的形式复制初始化,语法用等号直接初始化,把初始化式放在括号中。

² C++中初始化和赋值是两种不通的操作。

² 在函数体外定义的变量都初始化为0,在函数体里定义的内置类型变量不进行自动初始化。

² 每个内置类型的对象都要初始化。虽然这么做不总是必需的,但更加容易和安全。

² 变量的定义用于为变量分配存储空间,还可以为变量指定初始值。声明用于向程序表明变量的类型和名字。可以通过使用extern关键字声明变量名而不定义它。Extern声明不是定义,也不分配存储空间。事实上,它只是说明变量定义在程序的其他地方。程序中变量可以声明多次,但只能定义一次。

² 用来区分名字的不通意义的上下文称为作用域。作用域是程序的一段区域。

² 通常把一个对象定义在它首次使用的地方是一个很好的办法。

2.4 const限定符

² const限定符把一个对象转换成一个常量。在全局作用域声明的const变量是定义该对象的文件的局部变量。此变量只存在于那个文件中,不能被其他文件访问。通过指定const变量为extern,就可以在整个程序中访问const对象。

2.5 引用

² 引用就是对象的另一个名字,主要用作函数的形式参数。

² 当引用初始化后,只要该引用存在,它就保持绑定到初始化时指向的对象。不可能将引用绑定到另一个对象。

² 将普通的引用绑定到const对象是不合法的。

2.7 枚举

² 默认地,第一个枚举成员赋值是0,后面的每个枚举成员赋值比前面的大1。

² 枚举成员值可以是不唯一的。

² 不能改变枚举成员的值。枚举成员本身就是一个常量表达式。

2.8 类类型

² 如果使用class关键字来定义类,那么定义在第一个访问标号前的任何成员都隐式指定为private;使用struct关键字,这些成员都是public。