c 中const與readonly區別

2021-08-24 18:13:39 字數 439 閱讀 1438

對於該文中中間**測試部分,有一句話如下:

1. 如果我們在const修飾的常量前加static的話,會提示錯誤,因為const編譯後就是static常量了。(pm:如果不編譯的話,編輯器不會報錯。編譯後,再提示錯誤! )

針對上面這句話,我個人認為:const編譯後就是static常量,與我們直接用的static常量是不一樣的。正常來講,static成員是類的成員,當別的物件呼叫時會直接操作類的static成員。但是,const是不一樣的,在編譯期間,就會把const常量直接賦值給呼叫者,在執行期間就不會取訪問const常量自己了。這是個人理解而已,如有不正確,還請大家指教!

解釋了const是如何再編譯期間就直接用字面量代替的,也就是再執行期間不會再去讀取類的該const變數了。任何乙個方法引用了該const常量,在編譯期間就會把字面量賦值給它了,在執行期間就不會再此去讀取這個類的這個const常量了。

c中的const與c 中的const

c中的const是乙個偽唯讀識別符號。include include int main 此時輸出a的值為20,被指標間接的改變了。c 中,const進行了增強,不在是乙個偽識別符號了。const int a 10 int p int a p 20 cout a p endl cout a endl ...

c 中 const與指標

const與指標這塊自己一直理解的朦朦朧朧的,今天在vs上專門做個一些測試,特此記錄。const與指標一般有兩種情況 一是修飾指標指向的物件,二是用const修飾指標.如 int age 23 const int pt age int age 23 const int pt age int sage...

c與c 中const使用

c中可以修改const修飾的變數的值 區域性變數 int main 全域性變數 const int c 10 唯讀 int main c 中不可以修改const修飾的變數的值 區域性變數 int main 為什麼 p輸出的是11?原因 區域性變數 const int c其實是儲存在符號表中,無記憶體...