const a* a;和a const * a;是一樣的,通常用前者,表示被指標a所指的a物件,不能通過a修改
a* const a;是指a指標是const的不能再指向其他物件
const a* const a;同時包括上兩者的含義。
const a& a;和a const& a;是一樣的,通常用前者,表示引用a不能修改它所引用的物件。注意:a& const a;的寫法是沒有意義的,因為引用本身就是不能改變的,沒必要再用const說明。
const的指標和引用,只能使用物件的const方法,即在宣告中該方法後有const關鍵字。如果const方法要返回物件的引用或指標,也必須用const修飾,例如 const a& get() const;
非const的指標和引用,則能訪問cosnt和非const的方法。
因此,函式通常會有const過載,即函式簽名完全相同,只存在是否有const修飾的區別,這通常用在操作符過載上,如 const a& operator(int idx) const;和a& operator(int idx);
如果const成員函式需要修改某個成員變數,可以將該成員變數修飾為mutable,如果編譯器不支援mutable,則進行const_cast
c 日積月累 const
const a a 和a const a 是一樣的,通常用前者,表示被指標a所指的a物件,不能通過a修改 a const a 是指a指標是const的不能再指向其他物件 const a const a 同時包括上兩者的含義。const a a 和a const a 是一樣的,通常用前者,表示引用a不...
c 日積月累 const
const a a 和a const a 是一樣的,通常用前者,表示被指標a所指的a物件,不能通過a修改 a const a 是指a指標是const的不能再指向其他物件 const a const a 同時包括上兩者的含義。const a a 和a const a 是一樣的,通常用前者,表示引用a不...
c 日積月累const關鍵字
const含義 只要乙個變數前用const來修飾,就意味著該變數裡的資料只能被訪問,而不能被修改,也就是意味著const 唯讀 readonly 規則 const離誰近,誰就不能被修改 const修飾乙個變數時,一定要給這個變數初始化,若不初始化,在後面也不能初始化。const作用 1 可以用來定義...