84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
怎么感觉顶层const跟底层const的意思都是定义了就不能改了。 比如 const in i =1; 跟 int const i =1;有啥区别
走同样的路,发现不同的人生
int const i和const int i没区别,都表示i是常量。const int p和int const p也一样,表示p是常量,但p是变量;int const p和他们不一样,表示p是常量,*p是变量。
顶层const和底层的const主要是针对指针来说的。所谓顶层const是指指针的不变性,即指针指向的位置不变!int *const p = &i; 则p这个值不会再变,在这里你可以通过其他方式改变i这个值,比如说你可以直接赋值i = 9;。这样const也拿你没办法。而底层const则是指指针指向的对象或者内置类型不变,const int *p = &i;则这里的i的值就不许再变了,但是你仍然可以改变p,比如说你可以这样const int *p = &j;我理解的const是一种约定,是说我用了const就不会改变变量的值了,而其他人乱动我也没办法。一些浅见,请多指教。
const
int *const p = &i;
i = 9;
const int *p = &i;
p
const int *p = &j;
int const i和const int i没区别,都表示i是常量。const int p和int const p也一样,表示p是常量,但p是变量;int const p和他们不一样,表示p是常量,*p是变量。
顶层
const
和底层的const
主要是针对指针来说的。所谓顶层
const
是指指针的不变性,即指针指向的位置不变!int *const p = &i;
则p这个值不会再变,在这里你可以通过其他方式改变i这个值,比如说你可以直接赋值i = 9;
。这样const
也拿你没办法。而底层
const
则是指指针指向的对象或者内置类型不变,const int *p = &i;
则这里的i的值就不许再变了,但是你仍然可以改变p
,比如说你可以这样const int *p = &j;
我理解的
const
是一种约定,是说我用了const
就不会改变变量的值了,而其他人乱动我也没办法。一些浅见,请多指教。