本文均来自狄泰软件学院

const常量的判别准则

只有用字面量初始化的const常量才会进入符号表

使用其它变量初始化的const常量仍然是只读变量

volatile修饰的const常量不会进入符号表

编译期间不能直接确定初始值const标识符,都被作为只读变量处理

const引用的类型与初始化变量的类型

相同初始化变量成为只读变量

不同生成一个新的只读变量

指针是一个变量

值为一个内存地址,不需要初始化,可以保存不同的地址

通过指针可以访问对应内存地址中的值

指针可以被const修饰为常量或者只读变量

引用只是一个变量的新名字

对引用的操作(赋值,取地址等)都会传递到代表的变量上

const引用使其代表的变量具有只读属性

引用必须在定义时初始化,之后无法代表其它变量

使用c++语言的角度来看

引用指针没有任何的关系

引用是变量的新名字,操作引用就是操作对应的变量

从c++编译器的角度来看

为了支持新概念"引用"必须要有一个有效的解决方案

在编译器内部,使用指针常量来实现"引用"

因此"引用"在定义时必须初始化

c++不支持引用数组