const 放在*前 是對變量(指針指向的空間 *p)進行修飾:指針指向的變量為const,即不能通過該指針來修改變量
const放在*后 是對指針本身的的修飾 :指針本身的指向不能改變,只能指向這個變量
const int p; // p 為常量,初始化后不可更改 const int* p; // *p 為常量,不能通過*p改變它指向的內容 int const* p; // *p 為常量,同上 int* const p; // p 為常量,初始化后不能再指向其它內容
在C++中可以在的成員函數可以通過const來修飾。此時const修飾的是this指針變量本身,所以意味著當前成員函數不可以修改當前對象的成員函數.
class C1 { public: int m_i; int m_j; const void m_method(int i,int j){ m_i = i + 1;// error 不能修改this指針指向的屬性 } void const m_method1(int i,int j){ m_i = i + 1;// error 不能修改this指針指向的屬性 } void m_method3(int i,int j) const{ m_i = i + 1;// error 不能修改this指針指向的屬性 } protected: private: };
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。