• <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久久精品88| 香蕉久久夜色精品国产小说| 一级a性色生活片久久无少妇一级婬片免费放| 精品久久人人爽天天玩人人妻| 精品久久久无码中文字幕天天| 久久人妻少妇嫩草AV蜜桃| 人妻精品久久久久中文字幕69| 亚洲精品高清久久| 精品国产乱码久久久久软件| 国内精品久久久久久久97牛牛| 久久久久久久综合日本| 人妻精品久久久久中文字幕一冢本| 97超级碰碰碰碰久久久久| 久久亚洲AV成人无码软件| 久久九九精品99国产精品| 久久久久久人妻无码| 久久久WWW成人| 久久99精品国产一区二区三区| 一极黄色视频久久网站| 久久久久久综合一区中文字幕| 亚洲欧洲精品成人久久奇米网| 精品午夜久久福利大片| 久久亚洲精精品中文字幕| 欧美日韩成人精品久久久免费看| 久久精品人人做人人妻人人玩| 一本大道久久东京热无码AV| 久久91精品综合国产首页| 美女写真久久影院| 久久96国产精品久久久| 日韩精品久久无码人妻中文字幕| 亚洲欧美一级久久精品| 亚洲国产精品狼友中文久久久| 国产女人aaa级久久久级| 香蕉久久夜色精品国产小说| 久久777国产线看观看精品| 久久精品中文騷妇女内射| 亚洲色欲久久久综合网东京热| 久久精品青青草原伊人| 久久热这里只有精品在线观看| 人人妻久久人人澡人人爽人人精品| 最新久久免费视频|