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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。