• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Design&Art

            C++博客 首頁 新隨筆 聯系 聚合 管理
              26 Posts :: 0 Stories :: 38 Comments :: 0 Trackbacks

            關鍵字mutable是C++中一個不常用的關鍵字,他只能用于類的非靜態和非常量數據成員
            我們知道一個對象的狀態由該對象的非靜態數據成員決定,所以隨著數據成員的改變,
            對像的狀態也會隨之發生變化!
            如果一個類的成員函數被聲明為const類型,表示該函數不會改變對象的狀態,也就是
            該函數不會修改類的非靜態數據成員.但是有些時候需要在該類函數中對類的數據成員
            進行賦值.這個時候就需要用到mutable關鍵字了

            例如:

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


            編譯上面的代碼會出現 error C2166: l-value specifies const object的錯誤
            說明在const類型的函數中改變了類的非靜態數據成員.

            這個時候需要使用mutable來修飾一下要在const成員函數中改變的非靜態數據成員
            m_nAccess,代碼如下:

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

            private:
                mutable 
            int  m_nAccess;
                
            bool m_bFlag;
            }


            int main()
            {
                
            return 0;
            }
             

            這樣再重新編譯的時候就不會出現錯誤了!
            posted on 2007-04-12 10:50 安帛偉 閱讀(314) 評論(0)  編輯 收藏 引用 所屬分類: C++
            久久亚洲精品国产精品婷婷| 狠狠色婷婷综合天天久久丁香| 久久久久亚洲AV成人网| 狠狠人妻久久久久久综合| 欧美日韩中文字幕久久久不卡 | 性做久久久久久久久| 国内精品久久久久影院亚洲| 人妻无码αv中文字幕久久| 婷婷综合久久中文字幕蜜桃三电影 | 99久久99久久精品免费看蜜桃| 7国产欧美日韩综合天堂中文久久久久| 久久久久久久综合综合狠狠| 久久这里只有精品18| 精品人妻伦一二三区久久| 亚洲va久久久噜噜噜久久狠狠| 国产精品成人精品久久久| 久久久久久久97| 激情久久久久久久久久| 亚洲va久久久噜噜噜久久| 久久久91人妻无码精品蜜桃HD| 中文字幕久久精品无码| 久久国产成人亚洲精品影院| 午夜天堂av天堂久久久| 久久综合精品国产一区二区三区| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 国产精品99久久精品| 中文字幕乱码人妻无码久久| 久久中文精品无码中文字幕| 韩国无遮挡三级久久| 囯产精品久久久久久久久蜜桃| 国产精品美女久久久久av爽| 国产成年无码久久久久毛片| 亚洲AV无码久久精品成人| 武侠古典久久婷婷狼人伊人| 久久AAAA片一区二区| 国产婷婷成人久久Av免费高清 | 91麻精品国产91久久久久| 久久亚洲高清观看| 免费观看成人久久网免费观看| 久久国产热精品波多野结衣AV| 97精品依人久久久大香线蕉97|