青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Robin Chow's C++ Blog

 

[導入]Exception C++ 之 11

編碼標準:
  1. 封裝和隔離。
  2. 在聲明一個類的時候,應避免暴露出其私有成員。
  3. 應該使用一個形如“struct Xxxxlmpl *pimpl_”的不透明的指針來存儲私有成員(包括狀態變量和成員函數)。
使用pimpl(編譯器防火墻)可以大大降低代碼之間的相互依賴性,對于pimpl_需要注意:
  1. pimpl_中存儲的是私有變量和私有成員函數。
  2. 一般需要一個反向指針(習慣稱為self_)來調用可見類的函數。
  3. 即使虛擬函數是私有的,也不能把虛擬成員函數隱藏在pimpl類中。

文章來源:http://my.donews.com/robinchow/2007/01/13/qwtfsgyamrxaxddpwhxeyatxgntnrlthhnna/

posted @ 2007-10-23 20:51 Robin Chow 閱讀(92) | 評論 (0)編輯 收藏

[導入]Exception C++ 之 12

Koenig Lookup:
如果你給函數提供一個 class 類型的實參,那么在名稱搜索時,編譯器將認為包含實參類型的命名空間中的同名函數的可選函數。
接口原則:
對于一個類X,所有的函數,包括自由函數,只要同時滿足
  • “提到”X,并且
  • 與X“同期提供”
就是X的邏輯組成部分,因為它們組成了X的接口。

接口原則與 Koenig lookup 的行為相同,因為 Koenig lookup 的行為正是建立在接口原則的基礎上的。
小結:
  1. 接口原則:對于 class X,所有的函數,包括自由函數,只要同時滿足(a)“提及”X,(b)與 X“同期提供”,那么它就是X的邏輯組成部分,因為它們是 X 的接口的一部分。
  2. 因此,成員和非成員函數都是一個 class 的邏輯組成部分。只不過成員函數比非成員函數有更強的關聯關系。
  3. 在接口原則中,對“同期提供”的最有用的解釋是“出現在相同的頭文件和/或命名空間中”。如果函數與 class 出現在相同的頭文件中,在依賴性分析時,它是此 class 的組成部分。如果函數與類出現在相同的命名空間中,在對象引用和名稱搜索時,它是此 class 的組成部分。



文章來源:http://my.donews.com/robinchow/2007/01/14/tlcchrdcrthuzvbqdhrczbijwughfpwzbybi/

posted @ 2007-10-23 20:51 Robin Chow 閱讀(84) | 評論 (0)編輯 收藏

[導入]Exception C++ 之 13

C++ 中的內存區域分為6塊:
  1. 常量數據區:存儲字符串等在編譯期間就能確定的值。類對象不能存在與這個區域中。在程序的整個生存周期內,區域中的數據都是可用的。區域內的所有數據都是只讀的,任何企圖修改本區域數據的行為都會造成無法預料的后果。
  2. 棧區:存儲自動變量。棧區中,內存一旦被分配,對象就立即被構造好了;對象一旦被銷毀,分配的內存也立即被收回。
  3. 自由存儲區:是 C++ 的兩個動態內存區域之一,使用 new 和 delete 來予以分配和釋放。
  4. 堆區:是另一個動態存儲區域,使用 malloc、free 以及一些相關變量來進行分配和回收。
  5. 全局/靜態區:在程序啟動時才被分配,而且可能直到程序開始執行的時候才被初始化。比如,函數中的靜態變量就是在程序第一次執行到定義該變量的代碼時才被初始化的。對那些跨越了編譯單元的全局變量進行初始化操作的順序是沒有被明確定義的,因而需要特別注意管理全局對象(包括靜態類對象)之間的依賴關系。
另外注意,C++ 標準對于堆和自由存儲區是否有聯系沒有予以詳細說明,不同編譯器可能有不同的實現。

文章來源:http://my.donews.com/robinchow/2007/01/14/kvdartgbqpsrlrmsxjgnplhdrqqyqtkapnag/

posted @ 2007-10-23 20:51 Robin Chow 閱讀(114) | 評論 (0)編輯 收藏

[導入]Exception C++ 之 14

關于內存管理:
  1. new 和 delete 必須配套提供,即提供了 new 就必須提供相應的 delete,反之亦然。
  2. 如果基類的析構函數聲明為 virtual,則對基類指針調用 delete 時總是調用派生類的析構函數,因而也總是調用派生類的 delete。
  3. 絕對不要以多態方式處理數組(見《More Effective C++》條款3)。
  4. new 和 delete 總是靜態的,即使它們不被顯式的聲明為 static。總是把它們聲明為 static 是個很好的習慣,這可以讓所有閱讀代碼的程序員明白無誤的認識到這一點。

文章來源:http://my.donews.com/robinchow/2007/01/14/cnfqokuxltsdoepsgwhcvonezmrrzircwxsk/

posted @ 2007-10-23 20:51 Robin Chow 閱讀(81) | 評論 (0)編輯 收藏

[導入]Exception C++ 之 15

使用 auto_ptr(靈巧指針)的注意事項:
  1. 對于 auto_ptr,拷貝不是對等的。右側的對象不再擁有對象的所有權。
  2. 不再擁有所有權的 auto_ptr 的指針會被置為 NULL,因而對它的解引用會導致錯誤。
  3. 使用 const auto_ptr 可以防止將該靈巧指針賦值給其他靈巧指針。

文章來源:http://my.donews.com/robinchow/2007/01/14/xzuxgvbkpleammqcmlzlsjhkcqmgfdpddjaj/

posted @ 2007-10-23 20:51 Robin Chow 閱讀(71) | 評論 (0)編輯 收藏

[導入]Exception C++ 之 16

  • 如果需要的話,請編寫一個私有函數來使拷貝操作和拷貝賦值共享代碼;千萬不要利用“使用顯式的析構函數并且后面跟一個 placement new”的方法來達到“以拷貝構造操作實現拷貝賦值操作”這樣的目的。也就是說,決不要編寫如下的代碼:
    T& T::operator=(const T &other)
    {
        if(this != &other)
        {
           this->~T();               // 有害!
           new (this) T(other);   // 有害!
        }
        return *this;
    }
  • 關于拷貝賦值操作符有兩點需要注意:
    1. 將拷貝賦值操作聲明為“T& T::operator=(const T&)”
    2. 不要返回 const T&,盡管這樣做避免了諸如“(a = b) = c”的用法;這樣做意味著:你無法出于移植性的考慮而將 T 對象放入標準程序庫之容器 -- 因為其需要賦值操作返回一個單純的 T&。

文章來源:http://my.donews.com/robinchow/2007/01/14/uufhhtovwfvygicxibjufbugcnhamivhcapk/

posted @ 2007-10-23 20:51 Robin Chow 閱讀(70) | 評論 (0)編輯 收藏

[導入]Exception C++ 之 17

  1. 建議總是使用“SomeType t(u)”的形式,一來是因為只要可以用“SomeType t = u”的地方也同樣可以用它;二來是因為它還有一些其它的有點,比如支持多個參數等。
  2. 關于 const:
    • 如果函數的返回類型不是一個內建(built-in)的類型的話,通常應該將其返回類型也聲明為 const。這樣可以避免該函數的調用者企圖修改臨時對象。
    • 對于傳引用作為實參,可以將其聲明為 const 以防止對其進行修改;如果使用傳值,則沒有必要聲明為 const。
    • 如果一個函數從邏輯上來說是 const 的,則應該將其聲明為 const 函數,即使該函數實際修改了對象的狀態,這時候必須將要修改的值聲明為 mutable。
  3. 關于類型轉換:
    • dynamic_cast:對公有繼承的基類和派生類進行轉換,轉換失敗時返回 NULL。
    • reinterpret_cast:對于互不相同、區別開來的類型(例如函數指針),盡管它們之間存在著隱式轉換,它們也是互無聯系的,應該用 reinterpret_cast 進行轉換。




文章來源:http://my.donews.com/robinchow/2007/01/15/HxCWeJTzfsIHxGSohwbqozDYDPwcLcYtAApF/

posted @ 2007-10-23 20:51 Robin Chow 閱讀(113) | 評論 (0)編輯 收藏

[導入]C++ 代碼優化(英文)

值得一看:

C++ Code Optimizations
文章來源:http://my.donews.com/robinchow/2007/01/15/bimskiqoaxkxvxlvzbfgoxtnrlgtocbpkohu/

posted @ 2007-10-23 20:51 Robin Chow 閱讀(109) | 評論 (0)編輯 收藏

[導入]不使用第三個數來交換兩個數的值的方法(英文)



Interchanging 2 variables without the use of a third - Programming/PHP
文章來源:http://my.donews.com/robinchow/2007/01/15/nbctysjyzmipdsnjkfhkwjgoqubiylxlmael/

posted @ 2007-10-23 20:51 Robin Chow 閱讀(121) | 評論 (0)編輯 收藏

[導入]Hohoho

http://www.ianai.net/jokes/WillNotThrow.gif
文章來源:http://my.donews.com/robinchow/2007/01/15/cglotemjvscvgbjpnasvjzxcgxvqqugtbsiv/

posted @ 2007-10-23 20:51 Robin Chow 閱讀(77) | 評論 (0)編輯 收藏

僅列出標題
共9頁: 1 2 3 4 5 6 7 8 9 

導航

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲免费av电影| 日韩亚洲欧美在线观看| 亚洲欧美日本视频在线观看| 欧美色另类天堂2015| 一区二区欧美激情| 亚洲看片一区| 国产精品看片资源| 久久精品国亚洲| 久久影院亚洲| 亚洲免费观看视频| 亚洲视频网站在线观看| 国产精品区一区二区三区| 久久国产精品一区二区三区四区| 欧美一站二站| 日韩午夜电影| 亚洲手机成人高清视频| 国产日韩精品视频一区二区三区| 久久婷婷麻豆| 欧美理论视频| 久久精品欧美日韩| 欧美国产日韩一区| 午夜在线观看免费一区| 久久国产精品99国产精| 亚洲免费久久| 性8sex亚洲区入口| 亚洲美女啪啪| 欧美影院成人| 亚洲图片欧洲图片av| 久久久久国产一区二区三区| 一区二区三区四区蜜桃| 欧美一级淫片aaaaaaa视频| 亚洲人体偷拍| 久久精彩免费视频| 亚洲综合二区| 久热精品视频| 欧美亚洲视频一区二区| 欧美国产乱视频| 久久久国产91| 国产精品mm| 亚洲欧洲精品天堂一级| 国产欧美一区二区三区国产幕精品| 亚洲国产成人精品久久| 国色天香一区二区| 亚洲一区二区精品在线观看| 亚洲精品人人| 久久国产精品黑丝| 香蕉视频成人在线观看| 欧美日韩国产麻豆| 欧美高清在线视频| 伊人婷婷欧美激情| 午夜精品久久久久久久白皮肤| 中文av一区二区| 嫩模写真一区二区三区三州| 久久久久天天天天| 国产精品久久9| 亚洲国产一区二区三区在线播| 国产美女精品免费电影| 日韩一级黄色片| 99精品视频免费观看视频| 久久久免费精品视频| 午夜激情久久久| 国产精品久久久久91| 日韩视频精品在线| 99精品欧美一区二区蜜桃免费| 你懂的国产精品| 欧美电影在线观看完整版| 一区视频在线播放| 久久久久国内| 欧美顶级大胆免费视频| 亚洲第一黄色网| 另类成人小视频在线| 免费美女久久99| 亚洲电影一级黄| 久久久精品日韩| 免费视频一区二区三区在线观看| 韩国女主播一区二区三区| 久久爱91午夜羞羞| 免费欧美视频| 日韩一级精品| 国产精品久久一卡二卡| 午夜精品一区二区三区在线播放| 欧美一区二区三区四区在线| 国产一区91| 免费成人你懂的| 亚洲欧洲一级| 午夜精品久久久久久久99樱桃| 国产精品xvideos88| 欧美亚洲系列| 欧美黄色免费网站| 亚洲视频精品| 国产亚洲va综合人人澡精品| 久久五月天婷婷| 最近看过的日韩成人| 亚洲欧美欧美一区二区三区| 国产欧美成人| 欧美96在线丨欧| 国产精品99久久久久久www| 欧美在线视频在线播放完整版免费观看 | 欧美成人精品一区二区三区| 亚洲日韩视频| 国产精品久久久久影院亚瑟| 久久成人综合视频| 亚洲精品在线观| 美女脱光内衣内裤视频久久网站| 亚洲美女在线国产| 国产精品夜夜夜| 久久久久久久久久久久久女国产乱| 亚洲电影免费| 欧美一区二区在线免费观看 | 久久久精品日韩| 亚洲乱码国产乱码精品精天堂| 午夜精品影院| 亚洲日本va午夜在线影院| 国产精品久久福利| 欧美福利视频在线观看| 亚洲欧美中文另类| 亚洲精品国产精品国产自| 久久激情久久| 亚洲图片欧美午夜| 亚洲欧洲视频在线| 国产一区二区三区久久| 欧美四级在线观看| 欧美国产激情二区三区| 欧美在线播放| 亚洲欧美日本在线| aa亚洲婷婷| 亚洲精品视频一区二区三区| 久久综合久久美利坚合众国| 亚洲免费小视频| 99国产一区| 亚洲精品久久久久久久久久久久久 | 精品电影在线观看| 国产精品一区二区三区四区五区| 欧美精品久久99久久在免费线| 久久久久久久综合狠狠综合| 西西人体一区二区| 亚洲一区欧美二区| 亚洲神马久久| 99成人在线| 日韩一级精品视频在线观看| 亚洲激情一区二区三区| 欧美成人午夜剧场免费观看| 久久久亚洲影院你懂的| 久久久国产成人精品| 久久精品视频免费播放| 欧美在线播放视频| 久久精品中文| 久久久久九九视频| 久久综合伊人| 欧美风情在线观看| 欧美激情一区二区三区在线| 欧美成人亚洲成人| 亚洲福利一区| 日韩视频在线播放| 亚洲视频图片小说| 性色av香蕉一区二区| 欧美一区二区免费观在线| 欧美一区二区三区免费观看| 欧美呦呦网站| 久久综合影音| 欧美日韩免费观看一区| 欧美色欧美亚洲另类二区| 欧美日韩在线一二三| 国产精品婷婷| 尹人成人综合网| 亚洲人成在线影院| 亚洲一区久久久| 欧美一级播放| 女同一区二区| 日韩天堂av| 性欧美暴力猛交69hd| 久久色中文字幕| 欧美激情一区二区三区四区| 国产精品第13页| 国产一区二区三区不卡在线观看 | 欧美精品一区二区三区蜜桃| 欧美日韩一区二区在线播放| 国产精品中文字幕欧美| 一区在线视频观看| 一区二区高清视频| 久久久久久久一区二区三区| 欧美激情一区二区三区在线视频| 一区二区久久久久久| 香蕉久久夜色精品国产| 性欧美长视频| 欧美日韩精品免费看| 国产视频亚洲精品| 99国产一区| 久久精品国产亚洲aⅴ| 亚洲精品乱码久久久久久| 欧美专区福利在线| 欧美日韩成人| 曰本成人黄色| 亚洲一区在线观看视频| 欧美成人黑人xx视频免费观看| 在线亚洲欧美| 欧美剧在线观看| 在线看一区二区| 久久xxxx精品视频| 一本色道久久加勒比精品|