All about "const" in C++
说明一下, 这又是个要不停更新的贴... 会不断把自己在C或者C++中遇到关于const的问题记录下来.
const关键字提供了给一个变量当做常量处理的策略, 这种策略个人感觉和linux的文件操作权限wrx很类似.
默认没有const关键字的即为wr(即可写也可读)
但是添加const关键字之后, 一般常规的初始化之后是不能修改变量的值的,即只写一次, 不可改写,之后仅可读.
但是之前很有意思, 抱歉, 真的不记得具体是@Fantasy还是@凯旋冲锋 提出了一个问题,
那个问题的解答我总结在下面这个link里面.
http://blog.csdn.net/cinmyheart/article/details/39808683
1. 定义const对象
const int buffersize = 512;
这样定义个变量, 它仍然是一个左值, 但是它不可以修改. 任何尝试修改都会导致编译错误(除了强制类型转换的那个奇技淫巧~).
因为常量在定义之后就不能被修改, 所以定义时必须初始化.
2. const 对象默认为文件局部变量.
在全局作用域里定义非const变量时, 它在整个程序中都可以访问.
与其他变量不同, 除非特别说明, 在全局作用域声明的const 变量是定义该对象的文件的局部变量. 此变量只存在于那个文件中, 本能被其他文件访问
非const变量默认为extern. 要使const变量能够在其他文件中访问,必须显示的指定它为 extern.
const 引用是指向const 对象的引用.
未完待续~