const与constexpr
const的使用
定义一个变量,让它的值不能被改变,例如定义一个缓冲区的大小,可以用关键字const进行限定
const int z=100; //限定了z值为100
z=1000 //这时是报错,提示z值不可修改
一旦const对象被创建后值不能发送改变,所以在该对象创建时必须初始化
const int i=get_size(); //正确的,运行时初始化
const int k=10; //正确的,编译时初始化
const int f; //错误,K还是未初始化的常量
const只是限定了改变指定对象的值,但是其他操作并不影响,例如拷贝与被拷贝操作都可以进行
int i = 41;
const int ci = i;
cout << ci << endl;
//输出41
int j;
j = ci;
cout << j;
//输出41
const跨文件访问
一般这种const的限定变量的常量值都只会在当前文件下有效,在其他c++文件访问时候也想实现跨文件使用该限定符的变量的话可以在前面填写关键字extern
extern const int s=1;
//这个s的常量就能被其他文件访问