頂層const和底層const

2021-09-24 09:47:59 字數 729 閱讀 2942

清晰一組概念:

首先只有指標才存在頂層與底層const之別(引用也可以算有(引用的本質是指標.)).

然後簡述下const的用法:

const修飾的型別:

首先看const前面是否有型別(type), 如果有就是修飾前面的type否則向後看。

例項:

const int a;//const 修飾int

int const a;//const修飾int

const int * pa;//const修飾int,底層const

int const * pa;//const修飾int,底層const

int * const pa;//const修飾int*,底層const

頂層const:修飾識別符號本身型別。

底層const:修飾識別符號的型別的基本型別。

如:

const int * ptr = nullptr;

//在這裡const修飾的是int,而ptr的本身型別是int*

//所以const修飾的是ptr所指的底層資料

//所以const是底層const

int *const ptr = nullptr;

//在這裡const修飾的是int*,ptr的本身型別是int*

//所以此處的const修飾的是ptr變數本身

//所以const是頂層const

//還是挺好理解的.

頂層const和底層const

頂層const 本身是乙個常量 底層const 所指的物件是乙個常量 int const p1 i const修飾p1,p1本身是乙個const,所以這個const是頂層const const int ci 42 const修飾ci,ci本身是乙個const,頂層 const int p2 ci c...

頂層const和底層const

1.頂層 const 與底層 const概念 指標本身是乙個物件,因為,指標實際對應著記憶體單元的一段儲存空間,然而,指標所指向的也是乙個資料物件,因此,指標是乙個常量與指標所指向的是乙個常量是兩個完全不同的概念,頂層 const表示的是指標本身是乙個常量,底層const 表示的是指標所指的物件是乙...

頂層const和底層const

今天讀到函式這章,發現又說到了頂層 高層 const和底層 低層 const,然而自己對他們還是一知半解,就重讀了有關這一部分的知識。感覺自己已經理解了,總結一下。首先這裡是書中的原話 用名詞頂層const表示指標本身是乙個常量 用名詞底層const表示指標所指的物件是乙個常量。我們知道const是...