const总结一

来源:互联网 发布:js控制div隐藏 编辑:程序博客网 时间:2024/06/08 13:49

关于指针const

情况一:

int i = 10;const int* p = &i;*p = 10 ;//error C3892: “p”: 不能给常量赋值

情况二:

int i = 10;int* const p = &i;p++;//error C3892: “p”: 不能给常量赋值

总结:编译器会提示报错。原因是 const int* 定义指针所指向的内容是常量, int* const 是定义指针为常量。

 

技巧:const在*的左边是修饰内容,const在*的右边是修饰指针。

 

思考:情况1定义了内容为常量,能否通过修改i改变i的值,也就是问用const int* 定义了p,对i是否有影响。

 

int i = 10;const int* p = &i;i = 11;//编译通过

结论:const int* 定义了p,指向i,对i没任何影响。

原创粉丝点击