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 ...