C 學習 常量 const限定符

2021-08-01 18:15:11 字數 722 閱讀 8798

const int  bufsize = 512; // input bufsize 

bufsize 仍然是左值,但不可修改。任何修改bufsize的嘗試都會導致編譯錯誤。

因為常量定義後就不可修改,所以定義時必須初始化。

e.g.   const std::string i ="hello";  //正確

const i,j=0;//錯誤,因為i沒有初始化

const 物件預設為檔案的區域性變數。

宣告用於向程式表明變數的型別和名稱。 定義也是宣告:當定義變數時,我們宣告了他的型別和名字。

可以通過extern 宣告變數名而不去定義她。

不定義變數的宣告包括物件名、物件型別和物件型別前的關鍵字extern:

extern  int i; // declare but not define i

int i; // declares and defines i

extern 宣告不是

不定義,也不分配空間。

程式中變數可以宣告多次,但只能定義一次。

只有當宣告也是定義時,宣告才可以有初始化式,因為只有定義才分配空間。初始化式必須有儲存空間來進行初始化;如果宣告有初始化式,那可以當作定義,即使宣告標記是extern:

extern double pi = 3.1416;

*******************

類與物件中的const成員函式的引入:

常量成員函式。

const限定符 (學習筆記)

const物件一旦建立後其值就不能再改變,所以const物件必須初始化。初始化和const 如果利用乙個物件去初始化另外乙個物件,則它們是不是const都無關緊要。預設狀態下,const物件僅在檔案內有效 如果想在多個檔案之間共享const物件,必須在變數的定義前新增extern關鍵字。1.cons...

C 之const限定符

const的特點 用const加以限定的變數,無法改變。由於const物件定義之後就無法改變,所以必須對其進行初始化。const物件的常量特徵僅在嘗試改變它的時候表現出來,其他時候和變數無異。const初始化 const int bufsize 512 bufsize無法再改變const物件通常只在...

C 的const限定符

const限定符總是讓人很頭疼,下面講解一下幾個比較容易混淆的概念 對常量的引用 常量引用 一般情況下,引用的型別要與其所引用的物件的型別一致,其中的例外情況就是,當初始化常量引用時,允許用任意表示式作為初始值,只要改表示式能轉換成引用的型別即可。const int i 1 const int ri...