在学习C/C++的时候总是记不住指针常量(int * const p;)和常量指针(const int *p)的区别,最近再刷题的时候发现了一个评论,分分钟就可以记住这两者的形式和区别,下面分享一下如何记住和区分指针常量和常量指针。
指针常量
我们通常称之为指针常量的东西就是如下的这种形式:
int * const p;
首先说一下指针常量中const的作用是限制指针不可变,也就是说指针一旦初始化不可再更改,但是其指向对象的值是可变的,看下面的例子:
int a=10,b=20;
int* const p = &a;
*p = 15; //允许修改值
cout<<*p;
p = &b; //报错,read-only variable 'p'
常量指针