课程
/后端开发
/C++
/C++远征之离港篇
const int*是不可变地址的指针int const*是指向不可变整数的指针
这是什么意思
2018-07-13
源自:C++远征之离港篇 3-4
正在回答
区别主要在于const位于*的前后
const位于*前,表示不能通过指针去改变该指针所指变量的值,但是可以用变量修改值,指针所指的变量也是可以改变的例如:
const int *p=&i;
i=2;
这种写法是正确的;
*p=2;
这种写法是错误的;
若修改指针所指变量的值,可以直接修改:
i=24;
const位于*后面,则指针一旦得到某个变量的地址,不能再指向其他的变量
const int *p =&x;<==> int const *p=&x;
*p=4; (any value) --> this is wrong!!!
p=&y (any address) -->this is correct!!!
So, const is just for "*p", not "p" in this example.
慕的地9298213 提问者
const int *p 与int const *p是一个意思啊,你要问的是const int *p和 int * const p吧
举报
C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通