• <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++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              26 Posts :: 0 Stories :: 38 Comments :: 0 Trackbacks

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


            編譯上面的代碼會出現(xiàn) error C2166: l-value specifies const object的錯誤
            說明在const類型的函數(shù)中改變了類的非靜態(tài)數(shù)據(jù)成員.

            這個時候需要使用mutable來修飾一下要在const成員函數(shù)中改變的非靜態(tài)數(shù)據(jù)成員
            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;
            }
             

            這樣再重新編譯的時候就不會出現(xiàn)錯誤了!
            posted on 2007-04-12 10:50 安帛偉 閱讀(321) 評論(0)  編輯 收藏 引用 所屬分類: C++
            三级三级久久三级久久| 天天躁日日躁狠狠久久| 国产精品久久久久无码av| 国产午夜久久影院| 久久99国产一区二区三区| 日本精品久久久久久久久免费| 亚洲午夜精品久久久久久app| 国产成人精品综合久久久久| 国产精品久久久久久久| 人人狠狠综合久久亚洲高清| 亚洲va久久久噜噜噜久久 | 色婷婷狠狠久久综合五月| 精品综合久久久久久98| 草草久久久无码国产专区| 欧美一区二区久久精品| 久久精品人人做人人爽电影| 亚洲国产日韩欧美综合久久| 精品久久久久久久无码| 亚洲国产精品成人久久蜜臀| 精品久久久久久久久午夜福利| 亚州日韩精品专区久久久| 久久久青草久久久青草| 无码专区久久综合久中文字幕| 国产L精品国产亚洲区久久| 久久夜色精品国产网站| 一个色综合久久| 欧美激情精品久久久久久| 久久精品国产91久久麻豆自制| 97久久国产综合精品女不卡| 色婷婷噜噜久久国产精品12p| 久久久久国产精品| 99久久久精品| 99久久国产热无码精品免费 | 久久精品国产男包| 国产成人久久久精品二区三区| 69SEX久久精品国产麻豆| 久久久久99精品成人片试看| 2021国产精品午夜久久| 中文精品久久久久人妻| 亚洲人成无码www久久久| 亚洲精品国产综合久久一线|