2010-07-16 78 views
-4

可能重複:
Sell me on using const correctnessconst關鍵字在編程中的好處是什麼?

我很想知道答案。 [關於const關鍵字在編程中有什麼好處?]

+2

爲什麼這會得到接近票?這個問題很明顯,雖然在標題 – 2010-07-16 09:27:31

+1

@大衛我同意,這個問題並不那麼模糊。事實上,它很清楚,Google的第一個結果是「編程中Const關鍵字的用法是什麼?」。 – 2010-07-16 09:28:42

+1

我們大多數人都很樂意提供幫助,但是......接下來你會問到使用'struct'還是'#ifdef'。爲什麼不讀一本關於C編程的書? – 2010-07-16 09:29:33

回答

9

const表示分配給該變量的值不能改變。如果您嘗試更改該值,您應該收到編譯器錯誤。

1

const關鍵字可以聲明一個只讀變量。

使用const參數來告訴你方法不會改變參數。

一個const方法告訴你,該方法不會改變類的成員變量(但可以改變標記爲mutable成員變量)

您也可以聲明const指針,更好地描述here

0

效果:你獲得更多的編譯時間檢查,以確保您不會更改不應更改的數據。

費用:您必須使用它無處不在。如果你需要,你可以擺脫困境,抵消好處。

使用指針獲取使用權限可能會非常棘手。指針本身是const還是它指向的數據?這也是我見過的最常見的用法:你想指向不可變的內存。

1

const關鍵字在編程中的好處是什麼?

將變量指定爲const說明變量的值在初始賦值後絕不應該改變。這允許編譯器在編譯時執行額外的測試(驗證您的代碼)。

例如,如果const函數更改對象中的(不可變)成員,則編譯器將產生錯誤。