溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C/C++ const關(guān)鍵字的理解

發(fā)布時間:2020-07-06 07:06:56 來源:網(wǎng)絡(luò) 閱讀:447 作者:暮色伊人 欄目:編程語言

const 放在*前 是對變量(指針指向的空間 *p)進(jìn)行修飾:指針指向的變量為const,即不能通過該指針來修改變量

const放在*后 是對指針本身的的修飾    :指針本身的指向不能改變,只能指向這個變量

const int p;      // p  為常量,初始化后不可更改
const int* p;     // *p 為常量,不能通過*p改變它指向的內(nèi)容 
int const* p;     // *p 為常量,同上

int* const p;     // p  為常量,初始化后不能再指向其它內(nèi)容


在C++中可以在的成員函數(shù)可以通過const來修飾。此時const修飾的是this指針變量本身,所以意味著當(dāng)前成員函數(shù)不可以修改當(dāng)前對象的成員函數(shù).

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:
};


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI