• <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>
            隨筆-34  評論-108  文章-0  trackbacks-0
            ??? 存儲描述符mutable用來特別說明某個類的成員變量需要以一種允許更新的方式存儲--即使它是某個const對象的成員。換言之,mutable意味著“不可能是const”。
            ??? 舉例如下:
            class Test
            {
            ??public:
            void SetValue(int i) const {m_i=i;}
            private:
            mutable int m_i;
            };
            ??? 上面的代碼在使用的時候是沒有問題的,但是如果int m_i的定義去掉mutable,則會出現 “error C2166: l 值指定常數對象”這樣的錯誤提示。
            ??? 可能有朋友說,可以通過const_cast?之類的轉換實現,但是這個運算符并不是總能正確的轉換的。
            posted on 2007-02-11 08:35 探丫頭 閱讀(1285) 評論(4)  編輯 收藏 引用 所屬分類: 編程語言——C++

            評論:
            # re: 存儲描述符mutable[未登錄] 2007-02-11 16:18 | BBSky
            "static_const"應該是const_cast  回復  更多評論
              
            # re: 存儲描述符mutable 2007-02-11 16:31 | 平凡小草
            @BBSky
            暈,我真是服氣了,怎么犯這樣的錯誤,謝謝提醒  回復  更多評論
              
            # re: 存儲描述符mutable 2007-02-11 20:10 | anonymous
            以通過const_cast 之類的轉換實現,但是這個運算符并不是總能正確的轉換的

            首先,你這個結論是錯誤的。其次,const_cast 不應該用于這種情況。實際上一般就不應該使用const_cast。mutable的目的也不是用在這種情況下。
            以下摘自:
            http://blog.chinaunix.net/u/23408/showart_191168.html

            *** "const" 修飾成員函數

            “const”還可以用來修飾成員函數以表明它不會破壞對象的邏輯不變性。

            **** 物理不變與邏輯不變

            邏輯不變(Logical Constness)指的是對象的呈現給用戶的狀態不變,但它的成員變量是否變化則不一定。與邏輯不變相對應的還有物理不變(Physical Constness)。所謂物理不 變指的是對象的任何成員變量都不作任何改動。有時兩者是一致的,但有很多時候兩者并不一致。例如:假設有如下多線程環境下的set類, 它的成員函數getData()獲取指定鍵值的元素。

            *** 關鍵字“mutable”

            上一節講到const成員函數應當保持對象邏輯上不變。但是一個成員函數被定義成const成員 后,編譯器禁止它修改對象的任何屬性。如果成員函數確實需要在不破壞對象邏輯不變性的 前提下修改某一屬性就需要借助關鍵字“mutable”了。

            關鍵字“mutable”表示被修飾者在任何情況下都不為常量。上例中MtSet把_mutex_定義成 mutable變量。不論MtSet的對象是否為常量,_mutex_都是一個“變”量。  回復  更多評論
              
            # re: 存儲描述符mutable 2007-02-14 11:21 | 平凡小草
            @anonymous
            謝謝這么耐心的指導,以后多向你學習  回復  更多評論
              
            国产亚洲精品久久久久秋霞| 久久SE精品一区二区| 久久无码中文字幕东京热| 99久久精品久久久久久清纯| 精品久久久中文字幕人妻| 中文字幕无码av激情不卡久久| 久久精品国产99国产电影网| 99久久精品午夜一区二区| 久久精品无码专区免费青青| 91精品国产9l久久久久| 狠狠色丁香婷综合久久| 久久99热国产这有精品| 一级做a爱片久久毛片| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久精品国产亚洲一区二区| 97久久天天综合色天天综合色hd| 国产产无码乱码精品久久鸭| 日韩一区二区久久久久久| 99国内精品久久久久久久| 久久久久无码中| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 久久午夜无码鲁丝片午夜精品| 久久精品国产只有精品66| 国产精品99久久久久久宅男小说| 久久精品国产男包| 国产亚洲美女精品久久久久狼| 久久精品无码一区二区app| 国产欧美久久久精品影院| 99久久人妻无码精品系列蜜桃| 日本久久久久久久久久| 一本久道久久综合狠狠爱| 久久99热精品| 亚洲精品国产综合久久一线| 国产成人无码久久久精品一 | 久久精品国产99久久久香蕉| 漂亮人妻被中出中文字幕久久| 久久99精品久久久久子伦| 中文成人无码精品久久久不卡| 国产精品视频久久| 久久婷婷人人澡人人爽人人爱| 久久综合久久久|