[翻譯] Effective C++, 3rd Edition, Terminology(術語)

Terminology(術語)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/這是一個所有程式員都應該瞭解的小型的 C++ vocabulary(詞彙表)。下面的術語都足夠重要,對它們的含義取得完全一致對於我們來說是完全必要的。declaration(聲明)告訴編譯器關於某物的 name(名字)和 type(類型),但它省略了某些細節。以下這些都是 declaration(

[翻譯] Effective C++, 3rd Edition, Item 23: 用 non-member non-friend functions(非成員非友元函數)取代 member funct

Item 23: 用 non-member non-friend functions(非成員非友元函數)取代 member functions(成員函數)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/想象一個代表 web browsers(網頁瀏覽器)的 class。在這樣一個 class 可能提供的大量函數中包括清空已下載部分的緩衝,清空已存取 URLs

[翻譯] Effective C++, 3rd Edition, Item 37: 絕不要重定義一個函數的 inherited default parameter value(通過繼承得到的預設參數值

Item 37: 絕不要重定義一個函數的 inherited default parameter value(通過繼承得到的預設參數值)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/我們直接著手簡化這個話題。只有兩種函數能被你 inherit(繼承):virtual(虛擬)和 non-virtual(非虛擬)。然而,重定義一個 inherited non-virtual

[翻譯] Effective C++, 3rd Edition, Item 35: 考慮可選的 virtual functions(虛擬函數)的替代方法(下)

(點擊此處,接上篇)The Strategy Pattern via tr1::function(經由 tr1::function 實現的策略模式)一旦你習慣了 templates(模板)和 implicit interfaces(隱式介面)(參見 Item 41)的應用,function-pointer-based(基於函數指標)的方法看上去就有些死板了。健康值的計算為什麼必須是一個 function(函數),而不能是某種簡單的行為類似 function(函數)的東西(例如,一個

[翻譯] Effective C++, 3rd Edition, Item 36: 絕不要重定義一個 inherited non-virtual function(通過繼承得到的非虛擬函數)

Item 36: 絕不要重定義一個 inherited non-virtual function(通過繼承得到的非虛擬函數)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/假設我告訴你 class(類)D 從 class(類)B publicly derived(公有繼承),而且在 class(類)B 中定義了一個 public member

[翻譯] Effective C++, 3rd Edition, Introduction(導言)

Introduction(導言)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/學習一種程式設計語言的基礎是一回事;學習如何用那種語言設計和實現高效率的程式完全是另外一回事。對於 C++ ——一種以擁有非同尋常的能力範圍和表現力而自豪的語言——更是尤其如此。如果能正確使用,與 C++ 共事是一件令人快樂的事情。極多樣的設計樣式被直接表達並有效實現。對於 classes(類)

[翻譯] Effective C++, 3rd Edition, Item 22: 將 data members(資料成員)聲明為 private

Item 22: 將 data members(資料成員)聲明為 private作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/好了,先公布一下計劃。首先,我們將看看 data members(資料成員)為什麼不應該是 public(公有)的。然後,我們將看到所有反對 public data members(公有資料成員)的理由同樣適用於

[翻譯] Effective C++, 3rd Edition, Item 43: 瞭解如何訪問 templatized base classes(模板化基類)中的名字(下)

(點擊此處,接上篇)已知 MsgSender 針對 CompanyZ 被特化,再次考慮 derived class(衍生類別)LoggingMsgSender:template<typename Company>class LoggingMsgSender: public MsgSender<Company> {public:  ...  void sendClearMsg(const MsgInfo& info)  {    write "before

[翻譯] Effective C++, 3rd Edition, Item 25: 考慮支援一個 non-throwing swap(不拋異常的 swap)(下)

(點擊此處,接上篇)那麼該怎麼做呢?我們依然需要一個方法,既使其他人能調用 swap,又能讓我們得到更高效的 template-specific(模板專用)版本。答案很簡單。我們依然聲明一個 non-member(非成員)swap 來調用 member(成員)swap,只是不再將那個 non-member(非成員)聲明為 std::swap 的 specialization(特化)或 overloading(重載)。例如,如果我們的 Widget-related(Widget 相關)機能都在

[翻譯] Effective C++, 3rd Edition, Preface(前言)

Preface(前言)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/我在 1991 年寫出了 Effective C++ 的最早版本,1997 年出了第二版,我更新了一些重要的方面的素材,但是,因為我不想使熟悉本書第一版的讀者感到困惑,我盡最大可能保持了原有的結構。最早的 50 個 Item 標題中的 48

[翻譯] Effective C++, 3rd Edition, Item 25: 考慮支援一個 non-throwing swap(不拋異常的 swap)(上)

Item 25: 考慮支援一個 non-throwing swap(不拋異常的 swap)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/swap 是一個有趣的函數。最早作為 STL 的構件被引入,後來它成為 exception-safe programming(異常安全編程)的支柱(參見 Item 29)和壓制自賦值可能性的通用機制(參見 Item 11)。因為

[翻譯] Effective C++, 3rd Edition, Item 10: 讓 assignment operators(賦值運算子)返回一個 reference to *this(引向 *t

Item 10: 讓 assignment operators(賦值運算子)返回一個 reference to *this(引向 *this 的引用)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/關於 assignments(賦值)的一件有意思的事情是你可以把它們穿成一串:int x, y, z;x = y = z = 15;                       

[翻譯] Effective C++, 3rd Edition, Item 21: 當你必須返回一個 object(對象)時不要試圖返回一個 reference(引用)(下)

(點擊此處,接上篇)但是也許你注意到無論是 on-the-stack(在棧上)的還是 on-the-heap(在堆上)的方法,為了從 operator* 返回的每一個結果都不得不容忍一次 constructor(建構函式)的調用。也許你還記得我們最初的目標是避免這樣的 constructor(建構函式)調用。也許你認為你知道一種方法能避免除一次以外的幾乎全部的 constructor(建構函式)調用。也許下面這個實現是你做過的,一個基於返回一個引向定義在函數內部的 static

[翻譯] Effective C++, 3rd Edition, Item 12: 拷貝一個 object(對象)的所有 parts(構件)

Item 12: 拷貝一個 object(對象)的所有 parts(構件)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/在設計良好的 object-oriented systems(物件導向系統)中,封裝了 object(對象)的內部構件,只有兩個拷貝 objects(對象)的函數:被恰當地稱為 copy constructor(拷貝建構函式)和 copy

[翻譯] Effective C++, 3rd Edition, Item 6: 如果你不想使用 compiler-generated functions(編譯器產生函數),就明確拒絕

Item 6: 如果你不想使用 compiler-generated functions(編譯器產生函數),就明確拒絕作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/房地產代理商出售房屋,服務於這樣的代理商的軟體系統自然要有一個 class(類)來表示被出售的房屋:class HomeForSale { ...

[翻譯] Effective C++, 3rd Edition, Item 11: 在 operator= 中處理 assignment to self(自賦值)

Item 11: 在 operator= 中處理 assignment to self(自賦值)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/當一個 object(對象)賦值給自己的時候就發生了一次 assignment to self(自賦值):class Widget { ... };Widget w;...w = w;                        

[翻譯] Effective C++, 3rd Edition, Item 5: 瞭解 C++ 為你偷偷地加上和調用了什麼函數

Item 5: 瞭解 C++ 為你偷偷地加上和調用了什麼函數作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/一個 empty class(空類)什麼時候將不再是 empty class(空類)?答案是當 C++ 搞定了它。如果你自己不聲明一個 copy constructor(拷貝建構函式),一個 copy assignment operator(拷貝賦值運算子)和一個

[翻譯] Effective C++, 3rd Edition, Item 33: 避免覆蓋(hiding)“通過繼承得到的名字”(下)

(點擊此處,接上篇)這一行為背後的根本原因是為了防止“當你在一個 library 或者 application framework 中建立一個新的 derived class 時,偶然地發生從遙遠的 base classes 繼承 overloads 的情況”。不幸的是,一般情況下你是需要繼承這些 overloads 的。實際上,如果你使用了 public inheritance 而又沒有繼承這些 overloads,你就違反了 Item 32 講解的“base 和 derived

[翻譯] Effective C++, 3rd Edition, Item 34: 區分 inheritance of interface(介面繼承)和 inheritance of implemen

Item 34: 區分 inheritance of interface(介面繼承)和 inheritance of implementation(實現繼承)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/(public) inheritance 這個表面上簡單易懂的觀念,一旦被近距離審視,就會被證明是由兩個相互獨立的部分組成的:inheritance of

[翻譯] Effective C++, 3rd Edition, Chapter 4. Designs(設計)和 Declarations(聲明)

Chapter 4. Designs(設計)和 Declarations(聲明)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/軟體設計——使軟體能做你想讓它做的事情的途徑——典型情況下,從一個相當概括的想法開始,但是最終它們會變得詳細,詳細到足以進行具體的 interfaces(介面)的開發。這些 interfaces(介面)很可能在隨後被轉化為 C++

總頁數: 4314 1 .... 1645 1646 1647 1648 1649 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.