const int bufSize = 512; // input bufsize
bufSize 仍然是左值,但不可修改。任何修改bufSize的尝试都会导致编译错误。
因为常量定义后就不可修改,所以定义时必须初始化。
e.g. const std::string i ="hello"; //正确
const i,j=0;//错误,因为i没有初始化
const 对象默认为文件的局部变量。
声明用于向程序表明变量的类型和名称。 定义也是声明:当定义变量时,我们声明了他的类型和名字。
可以通过extern 声明变量名而不去定义她。
不定义变量的声明包括对象名、对象类型和对象类型前的关键字extern:
extern int i; // declare but not define i
int i; // declares and defines i
extern 声明不是
不定义,也不分配空间。
程序中变量可以声明多次,但只能定义一次。
只有当声明也是定义时,声明才可以有初始化式,因为只有定义才分配空间。初始化式必须有存储空间来进行初始化;如果声明有初始化式,那可以当作定义,即使声明标记是extern:
extern double pi = 3.1416;
*******************
类与对象中的const成员函数的引入:
常量成员函数。