part02-const关键字
Posted flying_1314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了part02-const关键字相关的知识,希望对你有一定的参考价值。
目录
1、定义常量
const int MAX_VAL = 1;
const double PI = 3.14;
const char * Major = "CS";
2、定义常量指针
📢:不可通过常量指针修改其指向的内容
int n,m;
const int * p = &n;
*p = 5;// 编译报错
n = 5;// ok
p = &m;//ok,常量指针的指向可以变化
📢:不能把常量指针赋值给非常量指针,反过来ok
(理解一下,之所以是常量指针,就是因为不想被修改,如果你赋值给了非常量指针,那么是不是可以通过修改非常量指针,来修改我们常量指针所指向的内容了,与出发点不一致,所以不ok)
const int *n, int *m;
n = m;// ok
m = n;// fail
m = (int *)n;//ok,强制类型转换
📢:函数参数为常量指针时,可避免函数内部不小心改变参数所指向所指地方的内容
void MyTest(const char * p)
strcpy(p,"hello world");//编译失败
printf("%s",p);//ok
上面编译出错的原因在于,strcpy的第一个参数时char * ,我们传入了const char * ,违法了上面说的,我们不能把常量指针赋值给非常量指针的原则。
3、定义常引用
第一章、part01-引用_flying_1314的博客-CSDN博客这里面有提到,这里简述一下
📢:不能通过常引用修改其引用的变量
int x;
const int & y = x;
y = 5;//编译失败
x = 5;//ok
今天就到这里了,有什么问题欢迎评论区交流~
以上是关于part02-const关键字的主要内容,如果未能解决你的问题,请参考以下文章
8.python之面相对象part.5(子类调用父类的方法,以及super关键字)