const作用
const关键字在C++中真是无处不在,无论是函数参数,还是函数返回值,还是函数末尾都经常会看到const关键字,这表明C++中的const关键字是非常灵活的,
合理地使用const关键字能大大提高我们程序的健壮性。
被const修饰的即表明是常量性的、只读性的,不可随意修改的。因为const对象一旦创建后其值就不能再改变,所以const对象必须初始化。
const在C和C++中的区别
虽然在C中const也表示不可修改的意思,但是它的校验却没有C++中那么严格,比如在C中被const修改的变量我们可以通过间接绕过的方式修改,但是在C++中却是不行的,例如:
main.c
int main() {
const int a = 100;
a = 50; // 编译错误
int *p = &a;
*p = 50; // 编译成功,可以修改a的值
return 0;
}
main.cpp
int main() {
const int a = 100;
a = 50; // 编译错误,a的值无法修改
int *p = &a; // 无法编译通过
const int *p = &a; // 可以编译通过
*p = 50; // 无法编译通过,不能通过指针修改a的值
return 0;
}
const到底修饰谁
const在不同的位置修饰的内容不一样,对于const到底修饰的是谁&