一、const 常量 (常变量)
const int a = 5; // a是一个int常量,是符号常量(/命名常量), 5是字面常量
int b; cin >> b; const int a = b; //a 不是常量,是常变量 // int arr[a]; // error
C语言,const修饰的变量被称为常变量,const int a; 定义时可以不初始化; c++语言,定义的同时要初始化,用字面量初始化为常量,用变量初始化,为常变量
二、常量指针
const int* b = &a; //b是一个int指针,可以指向 int 常量 或 int 变量,但是,不可以通过指针的间接引用来修改其所指向的内容(值)
// 常量指针,是指向常量的指针,不是常量,只是,不可以通过指针的间接引用改变其指向的内容。
// const int* b = &a; 也可以写成 int const * b = &a; 是等价的
三、指针常量
int x[5]; int* const c = x; //c是一个int指针常量,指向x, 不可以指向其他
//指针常量是常量;
C++中,const 是只读模式,可以绑定右值(临时对象是右值),绑定右值111,const int &x = 111;,在类成员函数 () 后加 const ,函数不可以改变成员变量的值。