程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> c++症結字mutable深刻解析

c++症結字mutable深刻解析

編輯:關於C++

c++症結字mutable深刻解析。本站提示廣大學習愛好者:(c++症結字mutable深刻解析)文章只能為提供參考,不一定能成為您想要的結果。以下是c++症結字mutable深刻解析正文


1、關於mutable症結字
先說用法,mutable症結字只能潤飾非靜態和異常量成員變量,應用mutable潤飾的成員變量在const函數中的值是可以修正的。

好比說上面的代碼:

class Demo
{
public :
    Demo() {}
    ~Demo() {}
public :
   bool getFlag()const
    {
        m_nAccess++;
       return m_bFlag;
    }
private :
   int m_nAccess;
   bool m_bFlag;
};

int main()
{
   return 0 ;
}

編譯的時刻會報錯,由於const成員函數修正了成員變量,然則假如聲明m_nAccess的時刻加上症結字mutable便可以了。

PS:一個對象的狀況由該對象的非靜態數據 成員決議,所以跟著數據成員的轉變, 對像的狀況也會隨之產生變更! 假如一個類的成員函數被聲明為const類型,表現該函數不會轉變對象的狀況,也就是該函數不會修正類的非靜態數據成員.然則有些時刻須要在該類函數中對類的數據成員停止賦值.這個時刻就須要用到mutable症結字了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved