C/C++ const限定符

C/C++ const修饰符

写一篇简单点的,最近老是使用const,但是还经常想不起来咋用,老得查,写一篇记录以下,方便下次找。

作用

const说白了就是希望某些值不被改变,对于一般的变量来说很简单const int i = 1即可,但是对于指针来说就没那么简单了。

指针

1
2
3
const int *i = 0;      // 值不能改,指向可以随便改
int *const j = 0; // 值可以随便改,指向不能改
const int *const k = 0;

前两个很容易分不清楚,首先第一个是指向常量的指针,说人话就是i指向的值不能通过*i改变,但是可以通过别的方法改变,并且i这个指针可以随便指向其他变量。 第二个是常量指针,即指针不能随便指别人,但是指向的值可以随便改。 第三给就是都不嫩改了。