前言
此筆記目前尚未整理完成,如需學習完整內容可參考隨附的 reference,或自行 google 搜尋
但因為作者要整理的筆記太多,如果想早點看到整理後的文章,可以下方留言「期待整理」之類的… 我會努力找時間優先整理!
const 介紹
const 的原名為 constant,中文可以翻譯作常數,
所謂「常數」就是指「不應該被更改的數值」,與一般「變數」不同,
透過 const 可以幫助我們實現這樣的變數,換句話說就是實現「不可任意更改的變數」,
如果更改就會報錯。
const 使用情境
const 使用情境非常多… 而且作者我當初在看 code 的時候還想說,
怎麼 const 可以東一個西一個,頭一個尾又一個,
搞得我超級亂… 好像有種為什麼 const 到處都可以出現的感覺…
但一樣的,根據 const 所修飾的情境,大致還是可以分為兩種,針對「variable」與針對「function」
const 與 variable (變數)
這裡有個小技巧,看到 const int, 與 int 請直接當成不同 type 的東西看待!!!
就算他們都是 int,實際上型態還是不能互轉的!
建議理解時,直接當作兩個 type 理解就好。
const 與 function
const 與 getter 搭配使用,確保成員不容易被修改
const int GetObj() {return obj;}
我們可以把 Getter(), Setter() 放在 public,
把成員放在 private,
這樣比起直接讓使用者拿 class.obj 更安全,也不容易被亂改。
const 比較複雜的情況
const int *a;
int const *a;
int* const a;
int *a const;
頭好痛… 讓我們來慢慢看一下…