• <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>

            focus on linux, c/c++, lua

            用一段共享內存來實現共享指針

            看了vczh的共享指針的實現,我大概理解為 用一段共享內存來實現一切。這一段共享內存包含的內容包括:
            1,真正的數據
            2,4個字節的引用計數
            任何指向這段共享內存的指針都有權利修改這段內存的內容,比如
            1,當有新指針指向這塊內存的時候,如拷貝構造函數,或是被右值賦值的函數operator =,新的對象都應該去把
            共享內存中引用計數加1。注意這里右值被拷貝過來的時候,this是能操作這塊共享內存的,所以計數的加減都
            很容易操作的。
            2,在當前的指針逃脫這塊共享內存的時候,要把這里的引用計數減1,當減到0的時候,釋放所有的內存。所以operator=
            應該是先減去現在的引用計數,再增加新的引用計數
            大概的結構如下:
            class share_ptr
            {
                T* pSharedData;
                int* pSharedCnt;
            };

            vczh的文章在這里http://m.shnenglu.com/vczh/archive/2010/06/24/118635.html

            posted on 2010-06-25 15:35 zuhd 閱讀(1617) 評論(0)  編輯 收藏 引用 所屬分類: c/c++

            亚洲综合精品香蕉久久网97 | 久久国产综合精品五月天| 久久久久无码精品国产不卡| 欧美久久综合性欧美| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久人人青草97香蕉| 久久国产乱子伦免费精品| 国产激情久久久久影院| 囯产极品美女高潮无套久久久| 777久久精品一区二区三区无码 | www.久久热.com| 久久精品青青草原伊人| 久久亚洲欧洲国产综合| 99国内精品久久久久久久| 久久国产精品77777| 人妻无码精品久久亚瑟影视| 66精品综合久久久久久久| 精品熟女少妇a∨免费久久| 久久亚洲熟女cc98cm| 亚洲国产精品综合久久一线| 久久国产影院| 久久青青国产| 久久精品女人天堂AV麻| 国产成人AV综合久久| 大美女久久久久久j久久| 久久国产精品成人免费| 久久婷婷国产麻豆91天堂| 久久久九九有精品国产| 久久久青草久久久青草| 青青青国产成人久久111网站| 91精品国产综合久久久久久| 99久久99久久久精品齐齐| 97热久久免费频精品99| 久久最近最新中文字幕大全 | 国产欧美久久久精品影院| 亚洲精品无码久久毛片| 日韩欧美亚洲综合久久影院Ds| 欧美成a人片免费看久久| 一本综合久久国产二区| 性欧美大战久久久久久久久| 99国产欧美久久久精品蜜芽|