整理C 中 const 的用法

2021-10-24 22:42:28 字數 1723 閱讀 5356

const是c++中乙個關鍵字,基本的含義是「無法修改的」。

它有多種用法,最基礎的用法是用它來修飾乙個變數,例如:

const

int i =

5;

也可以在函式宣告中使用,此時就可能在多個地方看到這個詞了。例如乙個誇張的場合是在 返回值、引數、函式宣告的末尾 都看到它的出現:

const

intfunc

(const

int x)

const

本篇的目標是結合實際的測試來整理這些用法。

當乙個變數被const修飾,則其後續不能被改變,否則編譯器會報錯:

當乙個引數被const修飾,則意味著這個引數傳進來之後不能被修改,當嘗試修改時編譯器會報錯:

當函式的返回值被const修飾,則意味著它將返回乙個不能被修改的物件,此時如果嘗試將其賦給乙個不帶const修飾的物件,則會失敗:

const還可以修飾乙個類的成員函式。

例如對於成員函式func(),先看無const修飾的情況:

對於乙個「不可修改的」testclass c,當嘗試呼叫func()函式時會報錯,因為編譯器懷疑func()可能會造成testclass內部資料的修改。

而對func()增加const修飾詞後,編譯則可以通過:

此時相當於告訴編譯器,func()函式不會改變內部資料。

當然,此時在func()函式中企圖改變資料,是不能通過編譯的:

在我看來,設計const的意義和設計成員訪問許可權的private,public的意義有相似之處:

你可以將所有的const修飾詞都去掉;也可以將所有的成員變數都設定為public。程式大概還是能照常執行。但是,如果能多花心思去正確使用const,去選擇使用private還是publc,將能更多得體現自己的設計意圖,並在可讀性減少誤操作方面獲得好處:

對於const

C 中的const用法整理

const在c 中是乙個十分重要的修飾符,而它的用法在不同的也有很多種,除了我們常用的,還有一些不常用的。今天一併全部整理。const 是對變數或物件起保護作用,防止變數或物件被修改。下面來講解其中的用法。舉例說明 const int a 3 表示變數a為const 型別常量,即a無法被修改。其中的...

C 中const的用法

1 const修飾普通變數和指標 1 const修飾普通變數 其寫法有2種 a const type value b type const value 這兩種寫法本質上是一樣的。其含義是 const修飾的型別為type的變數value是不可變的。2 const修飾指標 a const char va...

關於c 中const的用法

1.當然最常用的還是作為常量。1 const int p的用法,表示指向的值得型別不變還是int型,但p的值可以變,可以這樣理解 自以為指向const的指標 可以將非const的物件賦值給他例如可以這樣 int i 3 int j 4 const int p p i cout p p j cout ...