1 const关键字的作用
凡是经const修饰过的内容,只具有读的权限,不具有写的权限。也就是说,被const修饰的内容不可修改。可以提高程序的健壮性。
2 const关键字的一些使用场景及注意事项
1.const关键字修饰变量
const int a;
变量a经过const修饰过后,a的值就不可被修改,且
2 const关键字与宏
(1)const关键字具有宏的属性,经过const修饰过后的变量在预处理阶段会进行宏的替换
看如下代码:
int main() {
const int a = 10;
cout << a << endl;// 打印结果为10 预处理阶段 将宏展开 将 a 展开成 10
}
(2)const常量具有数据类型,编译器会对其进行安全类型检查
3 const关键字与指针
(1) 此时const修饰的是指针,此时指针的指向不能改变,此时指针本身变为常量指针
int a=10
int*const p=&a;
(2)此时const修饰的是指针所指向的内容,此时指针指向的内容不可修改
int a=10;
const int *p=&a;
(3)此时指针和指针所指向的内容均被const修饰,此时指针指向不可改变,且,指针指向的内容不可改变
int a=10;
const int * const p=&a;
4 const 修饰函数参数
(1)传递过来的参数在函数体内不可被修改
void function(const int val)
(2)传递过来的指针形参所指向的内容不可被修改
void function( const int * val)
(3)传递过来的指针形参的指向不可被修改
void function(int * const val)
(4)参数为引用,为了增加效率同时防止修改
void function( condt int & a)
5 在C++ 中 const 修饰成员函数
概念: 在成员函数后面加const,const修饰的this指针 ,所指向的对象,也就是保证调用这个const成员函数的对象在函数内不被修改
要点: 被const修饰的对象或者函数,对外只具有可读权限, 不可被修改
特点:
1 const 对象可以调用其他的const函数
2 非const对象既可以调用非const成员函数,也可以调用const成员函数
3 const成员函数可以调用其他的const函数
4 非const函数既可以调用其他的非const成员函数,也可以调用const成员函数