再探C++Primer (5)const限定符
###const常量# 我们通过const修饰变量来定义常量,const对象一旦创建完成就不允许修改,const对象必须初始化。 const int a = 100; //正确 a = 10; //错误,const对象不允许修改 const int b; //错误,const对象必须初始化 默认情况下,const对象只在文件内有效,如果需要在其他文件中使用该对象,则需在定义和声明处均添加extern关键字,这点和变量不同。 //file1.h文件定义了常量a; extern const int a=100; //file1.cpp文件声明了常量a,与file1.h中的是同一个; #include "file1.h" extern const int a; ###const的引用# 把引用绑定到const对象上,称为对常量的引用。 const int a = 100; const int &b = a; 允许把对const的引用绑定到非常量上,但不允许通过对const的引用来修改非常量的值。 int a = 100; const int &b = a; //正确,允许把对const的引用绑定到非常量上 b = 10; //错误,不允许通过对const的引用修改非常量的值 不允许把普通引用绑定到const对象上,因为试图通过引用修改const对象。 const int a = 100;