魔数:意义在上下文中没有体现出来,好像是魔术般从空中出现的
const限定符把一个对象转换为一个常量
const int bufSize = 512; //定义bufSize为常量并初始化为512
因为常量在定义后就不能被修改,所以定义时必须初始化。
与其他变量不同,除非特别说明,在全局作用域声明的const变量是定义该对象的文件的局部变量。此文件只存在于那个文件中,不能被其他文件访问。
通过指定const变量为extern,就可以在整个程序中访问const对象。
非const变量默认为extern。要使const变量能够在其他的文件中访问,必须显式地指定它为exten。
引用就是对象的另一个名字,在实际程序中,引用主要用作函数的形式参数。
引用是一种复合类型,复合类型是指用其他类型定义的类型。在引用的情况下,每一种引用类型都关联到某一其他类型。不能定义引用类型的引用,但可以定义其他类型的引用。
引用只是它绑定的对象的另一个名字,作用在引用上的所有操作事实上都作用在该引用绑定的对象上。
当引用初始化后,只要该引用存在,它就保持绑定到初始化时指向的对象,不可能将引用绑定到另一个对象。
初始化是指明引用指向哪个对象的唯一方法。
const引用是指向const对象的引用。
非const引用表示指向非const类型的引用
将普通的引用绑定到const对象是不合法的。
const引用可以初始化为不同类型的对象或初始化为右值。
非const引用只能绑定到与该引用同类型的对象。
const引用则可以绑定到不同但相关的类型的对象或绑定到右值。