顶层const 和 底层const
在C++中,const关键字可以用于创建常量,这意味着一旦定义,其值就不能改变。const可以修饰变量、指针、引用等,根据const修饰的对象不同,我们将其分为顶层const和底层const。
-
顶层const:当
const修饰的是对象本身,即对象本身不可被修改,我们称之为顶层const。例如,对于const int a = 10;,a就是一个顶层const,因为a本身的值不能改变12。 -
底层const:当
const修饰的是对象所指向的内容,即对象指向的内容不可被修改,我们称之为底层const。例如,对于const int *p = &a;,p是一个底层const,因为p指向的内容(即a的值)不能改变12。
这两种const可以同时存在,例如const int * const p = &a;,这里的p既是顶层const(p本身的值不能改变),也是底层const(p指向的内容不能改变)。
浙公网安备 33010602011771号