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

            martin

            thinking

            常用鏈接

            統計

            software

            最新評論

            re: 學好c++50條[未登錄] martin_yahoo 2009-03-20 14:16
            說的不錯.
            re: 應用系統中的定時器設計 martin_yahoo 2009-03-18 15:45
            因為該代碼實例是從Drawin,ICE等應用中摘要而出,但這些系統可能為了系統的需要,進行了一些比較復雜的設計.其實你只要在意原理就行,也就是僅這一段即可:
            上面所介紹的,主要是些數據結構. 定時器設計的關鍵部分如下: ....
            re: 智能指針的代碼實例[未登錄] martin_yahoo 2009-03-09 18:01
            u r right. These souce code is abstracted from ICE.
            re: C++中的智能指針[未登錄] martin_yahoo 2009-03-09 16:19
            @abettor
            你可以參閱:
            智能指針的代碼實例
            re: C++中的智能指針[未登錄] martin_yahoo 2009-03-09 15:14
            @陳梓瀚(vczh)
            class T; //雙向鏈表的節點類
            class T_var;  //為指向對象T的智能指針類.
            class T_list; //雙向鏈表數據結構類
            假設class T為雙向鏈表上的節點,故它的定義可以簡單地用如下方式表示:

            calss T{
            ....
            private:
            T_var beforePtr;
            T_var nextPtr;
            };

            現在考慮三個節點:N ,N1,N2節點.
            N節點的nextPtr指向N1, beforePtr指向其它節點
            (如果N節點前面沒有其它節點,此時只有N1節點引用它,則它的引用計數為1;如果前面還有還有其它節點,則它的引用計數為2).

            N1節點的nextPtr指向N2, beforePtr指向N節點.
            (N1節點的引用計數為2).

            N2節點的nextPtr指向其它節點, beforePtr指向N1節點.
            (如果N節點后面沒有其它節點,此時只有N1節點引用它,則它的引用計數為1;如果后面還有還有其它節點,則它的引用計數為2).

            現在假設要刪除N1節點, 把N2節點中的beforePtr指向N,
            則N節點的引用計數增加一,N1節點的引用計數減少1,變成1.
            把N節點的nextPtr指向N2節點,則N2的引用計數增加一,N1節點的引用計數減少1,從而N1節點的引用計數被降到0,N1節點將被自動摧毀.

            此時,N,N2節點的引用計數將各自減一.維持與N節點存在是一致.這種情況下沒完蛋.

            考慮到在類T_list中包含有雙向鏈表的首,尾地址.因此在一般情況下,各節點的引用計數都為2.

            因此,對于首,尾節點的操作與N1節點一致.
            m_lock 中含有一些成員不能更改,故采用了const修飾,對于加瑣和釋放部分利用mutable修飾.
            @Matrixcoding
            至于異常處理,那就根據業務的需要進行異常處理就可以了.
            至于const引用,就是避免在應用中對Guard中的成員m_lock進行更改.如果可以進行更改,則可能應用中多個線程要對同一資源加鎖,可以更改后,可能處理的不是同一個鎖,從而不能對資源進行有效地保護.
            re: C/C++混合編程[未登錄] martin_yahoo 2009-03-05 23:20
            @cdy20
            只不過是在c頭文件中已經加上了如下類似的語句:
            #ifdef _c_plus_plus
            extern "C"{
            #endif
            .....
            #ifdef _c_plus_plus
            }
            #endif

            如果在c語言的頭文件中加上述語句, 就應象采用隨筆中提到的做法.
            re: C++的一些基礎知識[未登錄] martin_yahoo 2009-03-05 22:00
            @Sandy
            第一種情況
            class B : private A
            {
            ....
            };
            B 從A私有繼承.
            第二種情況:
            class B{
            ...
            private:
            A a;
            ...
            };
            B含有一個A對象為實例,并且為B的私有成員.
            @S.l.e!ep.¢%

            如果程序在m_lock.acquire()處鎖失敗,則應用在此hang住,直到其他線程釋放資源,并被該線程獲取為止.此時這個線程會把資源所定.
            亚洲国产成人精品女人久久久 | 精品久久久久久99人妻| 亚洲国产精品久久久久婷婷老年 | 欧美午夜精品久久久久免费视| 国产A级毛片久久久精品毛片| 久久偷看各类wc女厕嘘嘘| 99久久国产综合精品成人影院| 中文字幕久久精品| 久久精品国产亚洲网站| 一个色综合久久| 亚洲精品高清久久| 亚洲精品无码久久久久| 久久精品国产亚洲精品| 久久99国产精品尤物| 亚洲色欲久久久久综合网| 久久精品国产第一区二区三区| 日本久久久久久久久久| 久久九九有精品国产23百花影院| 无码人妻少妇久久中文字幕| 久久99免费视频| 久久99精品久久久久久久不卡| 久久久黄片| 久久精品国产亚洲网站| 欧洲人妻丰满av无码久久不卡| 亚洲国产精品嫩草影院久久 | 亚洲国产成人久久综合碰| 久久青青草原综合伊人| 色婷婷综合久久久久中文| 一本久久免费视频| 精品综合久久久久久88小说| 狠狠久久亚洲欧美专区| 久久精品毛片免费观看| 久久久久久午夜精品| 亚洲?V乱码久久精品蜜桃| 久久免费视频一区| 久久免费大片| 午夜精品久久久久久影视777| 久久久亚洲精品蜜桃臀| 亚洲精品国产综合久久一线| 亚洲伊人久久成综合人影院 | 一级A毛片免费观看久久精品|