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

            洛譯小筑

            別來無恙,我的老友…
            隨筆 - 45, 文章 - 0, 評論 - 172, 引用 - 0
            數(shù)據(jù)加載中……

            Effective C++

            [ECPP讀書筆記 條目39] 審慎使用私有繼承
                 摘要: ·私有繼承意味著“A以B的形式實現(xiàn)”。通常它的優(yōu)先級要低于組合,但是當派生類需要訪問基類中受保護的成員,或者需要重定義派生的虛函數(shù)時,私有繼承還是有其存在的合理性的。
            ·與組合不同,私有繼承可以啟用“空基類優(yōu)化”特性。對于類庫開發(fā)人員而言,私有繼承對于降低對象尺寸來說至關重要。  閱讀全文

            posted @ 2012-10-12 23:39 ★ROY★ 閱讀(1995) | 評論 (0)  編輯

            [ECPP讀書筆記 條目38] 使用組合來表示“A包含B”、“A以B的形式實現(xiàn)”
                 摘要: 組合與公共繼承之間存在著本質(zhì)區(qū)別。
            組合在應用域意味著“A是B”,在實現(xiàn)域意味著“A以B的形式實現(xiàn)”。  閱讀全文

            posted @ 2012-07-08 16:18 ★ROY★ 閱讀(1972) | 評論 (2)  編輯

            [ECPP讀書筆記 條目37] 避免對函數(shù)中繼承得來的默認參數(shù)值進行重定義
                 摘要: 避免在對函數(shù)中繼承得來的默認參數(shù)值進行重定義,這是因為默認參數(shù)值是靜態(tài)綁定的,而虛函數(shù)是動態(tài)綁定的。  閱讀全文

            posted @ 2012-05-20 11:21 ★ROY★ 閱讀(2106) | 評論 (0)  編輯

            [ECPP讀書筆記 條目36] 避免對派生的非虛函數(shù)進行重定義
                 摘要: 避免對派生的非虛函數(shù)進行重定義  閱讀全文

            posted @ 2011-12-30 22:53 ★ROY★ 閱讀(2266) | 評論 (1)  編輯

            [ECPP讀書筆記 條目35] 虛函數(shù)的替代方案
                 摘要: 在你為當前的問題設計解決方案時,不妨考慮一下虛函數(shù)以外的其他替代方案。  閱讀全文

            posted @ 2011-12-25 00:59 ★ROY★ 閱讀(3240) | 評論 (2)  編輯

            [ECPP讀書筆記 條目34] 區(qū)分清接口繼承和實現(xiàn)繼承
                 摘要: 接口繼承與實現(xiàn)繼承存在著不同。在公共繼承體系下,派生類總是繼承基類的接口。
            純虛函數(shù)要求派生類僅繼承接口。
            簡單(非純)虛函數(shù)要求派生類在繼承接口的同時繼承默認的實現(xiàn)。
            非虛函數(shù)要求派生類繼承接口和強制內(nèi)容的實現(xiàn)。
              閱讀全文

            posted @ 2008-07-06 22:58 ★ROY★ 閱讀(2603) | 評論 (3)  編輯

            [ECPP讀書筆記 條目33] 避免隱藏繼承而來的名字
                 摘要: 祝勞動者節(jié)日快樂!
            派生類中的名字會將基類中的名字隱藏起來。在公有繼承體系下,這是我們所不希望見到的。
            為了讓被隱藏名字再次可見,可以使用using聲明或者轉(zhuǎn)發(fā)函數(shù)。
              閱讀全文

            posted @ 2008-05-01 01:11 ★ROY★ 閱讀(2717) | 評論 (2)  編輯

            [ECPP讀書筆記 條目32] 確保公共繼承以“A是一個B”形式進行
                 摘要: 公共繼承意味著“A是一個B”的關系。對于基類成立的一切都應該適用于派生類,因為派生類的對象就是一個基類對象。  閱讀全文

            posted @ 2008-03-17 22:55 ★ROY★ 閱讀(2060) | 評論 (2)  編輯

            [ECPP讀書筆記 條目31] 盡量減少文件間的編譯依賴
                 摘要: 最小化編譯依賴的基本理念就是使用聲明依賴代替定義依賴。基于這一理念有兩種實現(xiàn)方式,它們是:句柄類和接口類。
            庫頭文件必須以完整、并且僅存在聲明的形式出現(xiàn)。無論是否涉及模板。
              閱讀全文

            posted @ 2008-01-01 01:37 ★ROY★ 閱讀(2128) | 評論 (7)  編輯

            [ECPP讀書筆記 條目30] 深入探究內(nèi)聯(lián)函數(shù)
                 摘要: 僅僅對小型的、調(diào)用頻率高的程序進行內(nèi)聯(lián)。這將簡化你的調(diào)試操作,為底層更新提供方便,降低潛在的代碼膨脹發(fā)生的可能,并且可以讓程序獲得更高的速度。
            不要將模板聲明為inline的,因為它們一般在頭文件中出現(xiàn)。

              閱讀全文

            posted @ 2007-11-18 23:27 ★ROY★ 閱讀(1588) | 評論 (1)  編輯

            [ECPP讀書筆記 條目29] 力求代碼做到“異常安全”
                 摘要: 異常安全的函數(shù)即使在異常拋出時,也不會帶來資源泄露,同時也不允許數(shù)據(jù)結(jié)構(gòu)遭到破壞。這類函數(shù)提供基本的、增強的、零異常的三個層面的異常安全保證。
            增強保證可以通過復制并交換策略來實現(xiàn),但是增強保證并不是對所有函數(shù)都適用。
            函數(shù)所提供的異常安全保證通常不要強于其調(diào)用的函數(shù)中保證層次最弱的一個。
              閱讀全文

            posted @ 2007-10-04 21:53 ★ROY★ 閱讀(1461) | 評論 (5)  編輯

            [ECPP讀書筆記 條目28] 不要返回指向?qū)ο髢?nèi)部部件的“句柄”
                 摘要: 避免返回指向?qū)ο髢?nèi)部部件的句柄(引用、指針或迭代器)。這樣做可以增強封裝性,幫助const成員函數(shù)擁有更加“const”的行為,并且使“野句柄”出現(xiàn)的幾率降至最低。  閱讀全文

            posted @ 2007-09-23 23:25 ★ROY★ 閱讀(1150) | 評論 (2)  編輯

            [ECPP讀書筆記 條目27] 盡量少用轉(zhuǎn)型操作
                 摘要: 盡可能避免使用轉(zhuǎn)型,尤其是在對性能敏感的代碼中不要使用動態(tài)轉(zhuǎn)型dynamic_cast。如果一個設計方案需要使用轉(zhuǎn)型,要嘗試尋求一條不需要轉(zhuǎn)型的方案來取代。
            在必須使用轉(zhuǎn)型時,要嘗試將其隱藏在一個函數(shù)中。這樣客戶端程序員就可以調(diào)用這些函數(shù),而不是在他們自己的代碼中使用轉(zhuǎn)型。
            要盡量使用C++風格的轉(zhuǎn)型,避免使用懷舊風格的轉(zhuǎn)型。現(xiàn)代的轉(zhuǎn)型更易讀,而且功能更為具體化。
              閱讀全文

            posted @ 2007-09-13 22:27 ★ROY★ 閱讀(1336) | 評論 (3)  編輯

            [ECPP讀書筆記 條目26] 定義變量的時機越晚越好
                 摘要: 定義變量的時機越晚越好。這可以提高程序的清晰度和工作效率。
              閱讀全文

            posted @ 2007-08-19 22:00 ★ROY★ 閱讀(1164) | 評論 (0)  編輯

            [ECPP讀書筆記 條目25] 最好不要讓swap拋出異常
                 摘要: swap是一個非常有趣的程序。它最早是作為STL的一部分引入C++的,而后就成為了異常安全編程的主體內(nèi)容,另外對于可以自賦值的對象而言它還是一個常用的復制處理機制。由于swap如此神通廣大,那么以一個恰當?shù)姆绞饺崿F(xiàn)它就顯得十分重要了,但是它的舉足輕重的地位也決定了實現(xiàn)它并不是一件手到擒來的事情。在本小節(jié)中,我們就會針對swap函數(shù)展開探索,逐步掌握如何去駕馭它。

              閱讀全文

            posted @ 2007-08-02 22:05 ★ROY★ 閱讀(1415) | 評論 (3)  編輯

            [ECPP讀書筆記 條目24] 當函數(shù)所有的參數(shù)需要進行類型轉(zhuǎn)換時,要將其聲明為非成員函數(shù)
                 摘要: 如果你需要對一個函數(shù)的所有參數(shù)進行類型轉(zhuǎn)換,那么它必須是一個非成員函數(shù)。  閱讀全文

            posted @ 2007-07-05 23:23 ★ROY★ 閱讀(1223) | 評論 (1)  編輯

            [ECPP讀書筆記 條目23] 多用非成員非友元函數(shù),少用成員函數(shù)
                 摘要: 在特性情況下要更趨向于使用非成員非友元函數(shù),而不是成員函數(shù)。這樣做可以增強封裝性,以及包裝的靈活性和功能擴展性。
              閱讀全文

            posted @ 2007-06-11 22:27 ★ROY★ 閱讀(1166) | 評論 (0)  編輯

            [ECPP讀書筆記 條目22] 將數(shù)據(jù)成員聲明為私有的
                 摘要: 要將數(shù)據(jù)成員聲明為私有的。這樣可以讓客戶端訪問數(shù)據(jù)時擁有一致的語義,提供有條不紊的訪問控制,強制類符合一致性,為類作者提供更高的靈活性。
            protected并不會帶來比public更高的封裝性。
              閱讀全文

            posted @ 2007-06-06 18:37 ★ROY★ 閱讀(1005) | 評論 (0)  編輯

            [ECPP讀書筆記 條目21] 在必須返回一個對象時,不要去嘗試返回一個引用
                 摘要: 不要返回一個指向局部的、分配于棧上的對象;不要返回一個引用去指向分配于堆上的對象;不要返回一個指向局部靜態(tài)對象的指針或引用。
              閱讀全文

            posted @ 2007-06-02 21:13 ★ROY★ 閱讀(1294) | 評論 (2)  編輯

            [ECPP讀書筆記 條目20] 傳參時要多用“引用常量”,少用傳值
                 摘要: 盡量使用引用常量傳參,而不是傳值方式。因為傳引用更高效,而且可以避免“截斷問題”。
            對于內(nèi)建數(shù)據(jù)類型、STL迭代和函數(shù)對象類型,通常傳值方式更實用。
              閱讀全文

            posted @ 2007-06-01 18:12 ★ROY★ 閱讀(1425) | 評論 (3)  編輯

            [ECPP讀書筆記 條目19] 要像設計類型一樣設計class
                 摘要: class設計就是類型的設計。在定義一個新的類型之前,要確保將本條目中所有的問題考慮周全。  閱讀全文

            posted @ 2007-05-20 23:30 ★ROY★ 閱讀(916) | 評論 (2)  編輯

            [ECPP讀書筆記 條目18] 要讓接口易于正確使用,而不易被誤用
                 摘要: 優(yōu)秀的接口應該易于正確使用,而不易誤用。對所有的接口都應該力爭做到這一點。
            保持與內(nèi)置數(shù)據(jù)類型有一致的行為,是使接口易于正確使用的一種可行的方法
            防止錯誤發(fā)生的方法有:創(chuàng)建新的數(shù)據(jù)類型,嚴格限定類型的操作,約束對象的值,不要將管理資源的任務留給客戶端程序員。
            tr1::shared_ptr支持自定義的刪除功能。這可以防止“跨DLL問題”,可以應用與自動解開互斥鎖等情況。
              閱讀全文

            posted @ 2007-05-18 23:30 ★ROY★ 閱讀(860) | 評論 (0)  編輯

            [ECPP讀書筆記 條目17] 用智能指針存儲由new創(chuàng)建的對象時要使用獨立的語句
                 摘要: 在單獨的語句中使用智能指針來保存由new創(chuàng)建的對象。如果不這樣做,你的程序會在拋出異常時發(fā)生資源泄漏。
              閱讀全文

            posted @ 2007-05-15 23:12 ★ROY★ 閱讀(1504) | 評論 (89)  編輯

            [ECPP讀書筆記 條目16] 互相關聯(lián)的new和delete要使用同樣的形式
                 摘要: 如果你在一個new語句中使用了[],那么你必須要在相關的delete語句中使用[]。如果你在new語句中沒有使用[],那么在相關的delete語句中一定不要出現(xiàn)[]。
              閱讀全文

            posted @ 2007-05-14 22:15 ★ROY★ 閱讀(1097) | 評論 (0)  編輯

            [ECPP讀書筆記 條目15] 要為資源管理類提供對原始資源的訪問權(quán)
                 摘要: API通常需要訪問原始資源,因此每個RAII類都應該提供一個途徑來獲取它所管理的資源。
            訪問可以通過顯式轉(zhuǎn)換或隱式轉(zhuǎn)換來實現(xiàn)。一般情況下,顯式轉(zhuǎn)換更安全,但是隱式轉(zhuǎn)換對于客戶端程序員來說使用更方便。
              閱讀全文

            posted @ 2007-05-13 20:54 ★ROY★ 閱讀(810) | 評論 (0)  編輯

            [ECPP讀書筆記 條目14] 要注意資源管理類中的復制行為
                 摘要: 復制一個RAII對象的同時也要復制其所管理的對象,所以資源管理的復制行為由RAII對象的復制行為決定。
            一般的RAII類在復制時應遵循兩條原則:不允許使用復制,要進行資源計數(shù)。
              閱讀全文

            posted @ 2007-05-11 18:40 ★ROY★ 閱讀(941) | 評論 (1)  編輯

            [ECPP讀書筆記 條目13] 使用對象來管理資源
                 摘要: 為了避免資源泄漏,可以使用RAII對象,使用構(gòu)造函數(shù)獲取資源,析構(gòu)函數(shù)釋放資源。
            auto_ptr或TR1::shared_ptr是兩個常用并且實用的RAII類。通常情況下TR1::shared_ptr是更好的選擇,因為它的復制行為更加直觀。復制一個auto_ptr將會使其重設為null。
              閱讀全文

            posted @ 2007-05-07 18:52 ★ROY★ 閱讀(992) | 評論 (0)  編輯

            [ECPP讀書筆記 條目12] 要復制整個對象,不要遺漏任一部分
                 摘要: 要確保拷貝函數(shù)拷貝對象的所有的數(shù)據(jù)成員,及其基類的所有部分,不要有遺漏。
            不要嘗試去實現(xiàn)一個拷貝函數(shù)來供其它的拷貝函數(shù)調(diào)用。取而代之的是,把公共部分放入一個“第三方函數(shù)”中共所有拷貝函數(shù)調(diào)用。
              閱讀全文

            posted @ 2007-05-03 21:15 ★ROY★ 閱讀(875) | 評論 (1)  編輯

            [ECPP讀書筆記 條目11] 在operator=中要考慮到自賦值問題
                 摘要: 勞動者萬歲!
            在一個對象為自己賦值時,要確保operator=可以正常地運行。可以使用的技術(shù)有:比較源對象和目標對象的地址、謹慎安排語句、以及“復制并交換”。
            在兩個或兩個以上的對象完全一樣時,要確保對于這些重復對象的操作可以正常運行。
              閱讀全文

            posted @ 2007-04-30 18:38 ★ROY★ 閱讀(1200) | 評論 (1)  編輯

            [ECPP讀書筆記 條目10] 讓賦值運算符返回一個指向*this的引用
                 摘要: 讓賦值運算符返回一個指向*this的引用。
              閱讀全文

            posted @ 2007-04-28 20:35 ★ROY★ 閱讀(1056) | 評論 (4)  編輯

            [ECPP讀書筆記 條目9] 永遠不要在構(gòu)造或析構(gòu)的過程中調(diào)用虛函數(shù)
                 摘要: 在程序進行構(gòu)造或析構(gòu)期間,你絕不能調(diào)用虛函數(shù),這是因為這樣的調(diào)用并不會按你所期望的執(zhí)行,即使能夠順利執(zhí)行,你也不會覺得十分舒服。
              閱讀全文

            posted @ 2007-04-27 22:37 ★ROY★ 閱讀(1509) | 評論 (4)  編輯

            [ECPP讀書筆記 條目8] 防止因異常中止析構(gòu)函數(shù)
                 摘要: 永遠不要讓析構(gòu)函數(shù)引發(fā)異常。如果析構(gòu)函數(shù)所調(diào)用的函數(shù)會拋出異常的話,那么在析構(gòu)函數(shù)中要捕捉到所有異常,然后忽略它們或者終止程序。
            在一次操作中,如果一個類的使用者有能力對拋出異常作出反應,那么這個類應該提供一個常規(guī)的函數(shù)(而不是析構(gòu)函數(shù))來進行這一操作。
              閱讀全文

            posted @ 2007-04-22 14:00 ★ROY★ 閱讀(1432) | 評論 (3)  編輯

            [ECPP讀書筆記 條目7] 要將多態(tài)基類的析構(gòu)函數(shù)聲明為虛函數(shù)
                 摘要: 應該為多態(tài)基類聲明虛析構(gòu)函數(shù)。一旦一個類包含虛函數(shù),它就應該包含一個虛析構(gòu)函數(shù)。
            如果一個類不用作基類或者不需具有多態(tài)性,便不應該為它聲明虛析構(gòu)函數(shù)。
              閱讀全文

            posted @ 2007-04-20 21:59 ★ROY★ 閱讀(1363) | 評論 (2)  編輯

            [ECPP讀書筆記 條目6] 要顯式禁止編譯器為你生成不必要的函數(shù)
                 摘要: 為了禁用編譯器自動提供的功能,你必須將相關的成員函數(shù)聲明為private的,同時不要實現(xiàn)它。方法之一是:使用一個類似于Uncopyable的基類。
              閱讀全文

            posted @ 2007-04-18 23:21 ★ROY★ 閱讀(1045) | 評論 (1)  編輯

            [ECPP讀書筆記 條目5] 要清楚C++在后臺為你書寫和調(diào)用了什么函數(shù)
                 摘要: 編譯器可能會隱式為一個類生成默認構(gòu)造函數(shù)、復制構(gòu)造函數(shù)、拷貝賦值運算符和析構(gòu)函數(shù)。
              閱讀全文

            posted @ 2007-04-17 19:34 ★ROY★ 閱讀(1079) | 評論 (1)  編輯

            [ECPP讀書筆記 條目4] 確保對象在使用前得到初始化
                 摘要: 為了避免在對象初始化之前使用它,你僅僅需要做三件事。第一,手動初始化基本類型的非成員對象。第二,使用成員初始化表來初始化對象的每一部分。最后,初始化次序的不確定性會使定義于不同置換單元中的非局部靜態(tài)對象之間產(chǎn)生沖突,要避免這樣的設計。
              閱讀全文

            posted @ 2007-04-15 20:23 ★ROY★ 閱讀(1619) | 評論 (4)  編輯

            [ECPP讀書筆記 條目3] 盡可能使用const
                 摘要: const是一個令人贊嘆的東西。對于指針和迭代器,以及對于指針、迭代器和引用所涉及的對象,對于函數(shù)的參數(shù)和返回值,對于局部變量,以及對于成員函數(shù)來說,const都是一個強大的伙伴。盡可能去利用它。你一定不會后悔。
              閱讀全文

            posted @ 2007-04-11 19:55 ★ROY★ 閱讀(1428) | 評論 (3)  編輯

            [ECPP讀書筆記 條目2] 多用const、enum、inline,少用#define
                 摘要: 對于簡單的常量,應多用const對象或枚舉類型數(shù)據(jù),少用#define。
            對于類似程序的宏,應多用內(nèi)聯(lián)函數(shù),少用#define。  閱讀全文

            posted @ 2007-04-04 21:58 ★ROY★ 閱讀(2222) | 評論 (0)  編輯

            [ECPP讀書筆記 條目1] 把C++看作多種語言的聯(lián)合體
                 摘要: 無論你有怎樣的編程背景,都需要用一些時間和精力來適應C++。 C++是一門強大的編程語言,它擁有數(shù)不盡的實用功能,但是在你能夠熟練地駕御C++的力量,并且恰當而高效地利用這些功能之前,首先你要適應C++做事情的方式。這本書自始至終都是在介紹如何順利地完成這一適應過程,但是相比較大多數(shù)議題而言,還有一些更為基礎的內(nèi)容,本章向大家介紹的就是這些更為基礎的東西。  閱讀全文

            posted @ 2007-04-02 21:12 ★ROY★ 閱讀(2299) | 評論 (6)  編輯

            成人久久免费网站| 久久精品国产精品亚洲精品| 97超级碰碰碰碰久久久久| 国产精品热久久毛片| 三级韩国一区久久二区综合| 久久天天躁夜夜躁狠狠躁2022| 亚洲va久久久噜噜噜久久天堂| 久久精品国产精品亚洲毛片| 国内精品久久久久久久涩爱| 东方aⅴ免费观看久久av| 亚洲综合婷婷久久| 伊人久久综合精品无码AV专区| 一本伊大人香蕉久久网手机| 中文字幕人妻色偷偷久久| 国内精品久久久久久不卡影院| 色婷婷综合久久久中文字幕| 欧美久久一区二区三区| 欧美熟妇另类久久久久久不卡| 欧美与黑人午夜性猛交久久久| 91精品国产91久久久久福利| 亚洲精品国精品久久99热| 久久91亚洲人成电影网站| 亚洲精品无码久久久久| 久久天天日天天操综合伊人av| 国产欧美久久久精品| 欧美牲交A欧牲交aⅴ久久| 麻豆精品久久久久久久99蜜桃| 91精品国产高清久久久久久91| 午夜天堂av天堂久久久| 中文字幕无码久久人妻| 久久国产精品视频| 久久精品国产久精国产| 久久久精品一区二区三区| 无码AV波多野结衣久久| 无码任你躁久久久久久久| 亚洲欧洲精品成人久久曰影片| 九九久久精品国产| 久久国产影院| 久久精品国产第一区二区| 久久精品这里只有精99品| 久久久久久毛片免费看|