1)定义const对象
const int bufSize = 512 ;
定义bufSize 为常量并初始化为512.变量bufSize仍然是一个左值,但是现在这个左值是不能被修改的。任何修改bufSize的操作都会导致编译错误
bufSize = 0; //error :attempt to write to const object
因为定义常量后不能被修改,所以,在定义时必须初始化。
2)const对象默认为文件的局部变量。
与其他变量不同,除非特别说明,在全局作用域声明的const变量是定义该对象的文件的局部变量。此变量只存在于那个文件中,不能被其他文件访问。
通过制定const变量为extern,就可以在整个程序中访问const对象:
//file1.cpp
extern const int bufSize=512;
//file2.cpp
extern const int bufSize;
如果在file1.cpp中未指定extern,那么在file2.cpp中将无法访问。