因为常量在定义后就不能修改,所以定义时必须初始化。
const int i,j=0; //error:i is uninitialized const
非const变量默认为extern,要使const变量能够在其它的文件中访问,必须显示地指定它为extern
引用
引用必须要初始化,而且初始化必须用与该引用同类型的对象初始化。
int ival = 1024;
int &refVal = ival;
引用只是一个别名,对引用所做的所有操作实际上都是作用于该引用绑定的对象的。
const 引用是指向const对象的引用
const引用可以初始化为不同类型的对象或初始化为右值,例如
int i = 42;
const int &r = 42;
const int &r2 = r+1
同样的初始化对于非const引用却是不合法的,而且编译会出错
可以观察将引用绑定到不同类型时所发生的事,最容易理解上述行为。