标签:style blog http color strong io 2014 cti
加有const关键字的几种情况的辨析
const修饰的代码 |
含义(特点) |
等价性 |
int *p = # |
1. 可以读自己 2. 可以通过*p改自己 3. 可以通过p = &data来看别人 |
权限最大 |
cons int *p = # |
1、const放在左边意味着指向的是常量,这个常量不可以修改, 2、p = &data; (地址可以修改) 3、*p = 30;(这个时候是错误的) |
这两者等价(应用:查看别人的账户) |
int const *p = # |
(和上面的等价)限定只能读不可以修改,地址可以移动 |
|
int * const p = # |
不可以修改自己的地址,但是可以通过*p来修改自己的值 |
|
const int * const p = # |
不可以修改地址来看其它的值,也不可以修改自己的,只能看自己的 |
1、可看自己 2、不改自己 3、不能看别人 |
int const * const p = # |
限定只能看自己的账户,只能读不可写 |
只能在初始化的时候才能够赋值(const限定了不能随便修改变量)
const总结
const在’*’左边意味着我指向的是常量。
const在’*’右边意味着我指针式一个常量。
当把上面的p=&data;改成了*p = 3;这个时候就不可以了。截图如下:
int const *p
int * const p; 不可以修改自己的地址,但是可以通过*p来修改自己的值
可以通过*p的方式进行修改
6.const int * const p = &data; 这种方式只能看自己的,不能修改别人的,也不能改变自己。
只能看自己:
int *p,cons int *p,int const *p,int * const p,const int * const p,int const * const p的区别
标签:style blog http color strong io 2014 cti
原文地址:http://blog.csdn.net/tototuzuoquan/article/details/38327175