怎么感觉顶层const跟底层const的意思都是定义了就不能改了。 比如 const in i =1; 跟 int const i =1;有啥区别
迷茫2017-04-17 14:55:39
int const i と const int i の間に違いはありません。どちらも i が定数であることを意味します。 const int p と int const p にも同じことが当てはまります。つまり、p は定数ですが、p は変数です。const p はそれらとは異なります。 p は定数、*p は変数です。
巴扎黑2017-04-17 14:55:39
最上位の const
と最下位レベルの const
は主にポインター用です。
いわゆるトップレベルの const
は、ポインタの不変性を指します。つまり、ポインタが指す位置は変化しません。 int *const p = &i;
この場合、p の値は変更されません。たとえば、i = 9;< を直接割り当てることができます。 /コード>コード>。このような
const
については何もできません。
基礎となる const
は、ポインタまたは組み込み型が指すオブジェクトが const int *p = &i;
の場合は i の値が変更されないことを意味します。ここは変更できませんが、p
は変更できます。たとえば、次のようにすることができます。
私が理解しているのは、 const
一種の合意とは、const
を使用する場合は変数の値を変更せず、他の人がそれをいじっても何もできないことを意味します。
簡単な意見ですが、アドバイスをお願いします。