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

            這個時候需要使用mutable來修飾一下要在const成員函數中改變的非靜態(tài)數據成員
            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 安帛偉 閱讀(332) 評論(0)  編輯 收藏 引用 所屬分類: C++
            亚洲AV无码成人网站久久精品大| 国产亚洲精久久久久久无码| 久久国产三级无码一区二区| 一个色综合久久| 久久国产精品无码HDAV| 国产精品成人99久久久久 | 青青热久久国产久精品| 亚洲综合伊人久久综合| 久久99精品久久久久久噜噜| 亚洲色大成网站www久久九| 国产精品内射久久久久欢欢| 久久99精品国产自在现线小黄鸭| 久久国产美女免费观看精品 | 久久久久久亚洲精品不卡| 久久精品国产亚洲AV高清热| 欧美久久综合九色综合| 国産精品久久久久久久| 久久婷婷成人综合色综合| 欧美一级久久久久久久大片| 97精品久久天干天天天按摩| 婷婷伊人久久大香线蕉AV| 久久亚洲sm情趣捆绑调教| 国产伊人久久| 成人精品一区二区久久久| 久久国产亚洲精品无码| 亚洲精品无码成人片久久| 久久精品视频一| 一本久久精品一区二区| 久久综合鬼色88久久精品综合自在自线噜噜| 国产精品久久成人影院| 国产精品一久久香蕉产线看| 色偷偷偷久久伊人大杳蕉| 久久免费的精品国产V∧| 浪潮AV色综合久久天堂| 亚洲精品tv久久久久久久久| 亚洲精品美女久久777777| 亚洲午夜久久久久久久久久| 国产精品久久久久jk制服| 久久久中文字幕| 久久综合五月丁香久久激情| 少妇被又大又粗又爽毛片久久黑人 |