検索

ホームページ  >  に質問  >  本文

c++ - 顶层const跟底层const有啥区别

怎么感觉顶层const跟底层const的意思都是定义了就不能改了。 比如 const in i =1; 跟 int const i =1;有啥区别

怪我咯怪我咯2804日前570

全員に返信(2)返信します

  • 迷茫

    迷茫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 は変数です。

    返事
    0
  • 巴扎黑

    巴扎黑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 を使用する場合は変数の値を変更せず、他の人がそれをいじっても何もできないことを意味します。
    簡単な意見ですが、アドバイスをお願いします。

    返事
    0
  • キャンセル返事