1. const 关键字,在读const关键字语句时,从右向左读取。
cosnt int* p; 和 int const * p; 等价。 (常量指针):指向常量的指针,指针指向的内容不可修改为常量,指针可以修改。例如 const int* p = new int[10];
int* const p; (指针常量):指针常量,指针本身为常量,指针本身无法修改其指向的地址,地址内的内容可以改变。
const 引用(引用常量):无法通过引用常量修改原变量的值,但原变量的值可以通过变量名改变。这种方式可以防止传递应用造成的变量值被修改。
2. constexpr关键字(文本表达式)(常量表达式)(C++11)
文本表达式,可以当作常量使用,最典型的例子就是:
const intgetArraySize() { return 32; }
int myArray[getArraySize()];
文本表达式要求,表达式参数也为文本参数,返回值类型也为文本类型。
文本构造函数,没有函数体,所有的参数必须用文本类型参数初始化。