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

Item 43: 瞭解如何訪問 templatized base classes(模板化基類)中的名字作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/假設我們要寫一個應用程式,它可以把訊息傳送到幾個不同的公司去。訊息既可以以加密方式也可以以明文(不加密)的方式傳送。如果我們有足夠的資訊在編譯期間確定哪個訊息將要發送給哪個公司,我們就可以用一個 template-based(

[翻譯] 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

常態分佈的隨機數發生器 in C#

主要參考《Numerical Recipes in C++ 2/e》p.292~p.294 和《Simulation Modeling and Analysis 3/e》p.465~p.466。Box 和 Muller 在 1958 年給出了由均勻分布的隨機變數產生常態分佈的隨機變數的演算法。設 U1, U2 是區間 (0, 1) 上均勻分布的隨機變數,且相互獨立。令X1 = sqrt(-2*log(U1)) * cos(2*PI*U2);X2 = sqrt(-2*log(U1)) * sin(

[翻譯] Effective C++, 3rd Edition, Item 17: 在 standalone statements(獨立語句)中將 new 出來的 objects(對象)存入 smar

Item 17: 在 standalone statements(獨立語句)中將 new 出來的 objects(對象)存入 smart pointers(智能指標)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/假設我們有一個函數用於取得我們的 processing priority(處理優先順序),還有第二個函數用於根據 priority(優先順序)對一個

[翻譯] 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, Chapter 6. Inheritance(繼承)和 Object-Oriented Design(物件導向設計)

Chapter 6. Inheritance(繼承)和 Object-Oriented Design(物件導向設計)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/Object-oriented programming (OOP) 已經流行了差不多 20 年,所以,你很可能對 inheritance(繼承),derivation(派生)和 virtual

[翻譯] 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 26: 只要有可能就延遲 variable definitions(變數定義)

Item 26: 只要有可能就延遲 variable definitions(變數定義)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/只要你定義了一個帶有 constructor(建構函式)或

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

Item 35: 考慮可選的 virtual functions(虛擬函數)的替代方法作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/現在你工作在一個視頻遊戲上,你在遊戲中為角色設計了一個 hierarchy(繼承體系)。你的遊戲中有著變化多端的惡劣環境,角色被傷害或者其它的健康狀態降低的情況並不罕見。因此你決定提供一個 member

[翻譯] Effective C++, 3rd Edition, Item 9: 絕不要在 construction(構造)或 destruction(析構)期間調用 virtual function

Item 9: 絕不要在 construction(構造)或 destruction(析構)期間調用 virtual functions(虛擬函數)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/我以這個概述開始:你不應該在 construction(構造)或 destruction(析構)期間調用 virtual

[翻譯] 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

書評:《C# Primer》 by Joe Casad

書評:《C# Primer》Joe Casad / 陳碩 譯譯註:Joe Casad是 C/C++ Users Journal 雜誌的主編(editor-in-chief)。原文發表於 CUJ Online Exclusives, March 2003,網址為:http://www.cuj.com/webonly/2003/0303/web0303a/web0303a.htm 基本資料:書名: C# Primer: A Practical Approach作者: Stanley B.

[翻譯] Effective C++, 3rd Edition, Item 45: 用 member function templates(成員函數模板) 接受 “all compatib

Item 45: 用 member function templates(成員函數模板) 接受 "all compatible types"(“所有相容類型”)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/smart pointers(智能指標)是行為很像指標但是增加了指標沒有提供的功能的 objects。例如,Item 13 闡述了標準 auto_ptr 和 tr1::

[翻譯] Effective C++, 3rd Edition, Chapter 2. Constructors(建構函式),Destructors(解構函式)與 Assignment Operato

Chapter 2. Constructors(建構函式),Destructors(解構函式)與 Assignment Operators(賦值運算子)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/幾乎每一個你自己寫的 class(類)都會有一個或多個 constructors(建構函式),一個 destructor(解構函式)和一個 copy assignment

集12個main為一身的C程式竟然也能運行,而且可移植性為100%

集12個main為一身的C程式竟然也能運行,而且可移植性為100%      作者:張桂權    這樣的程式竟然也能運行,不是一個工程只能包含一個main嗎? 沒想到吧 ! 什麼事情都有可能發生,而且這樣的事情還多著呢? 如果你只是被它的結構迷惑,那沒關係,不過……  程式的運行結果可能會讓你更加吃驚了……  結果是什嗎?編譯運行一下你就知道了。 這不得不讓我想起“The Tao of Programming”中的一句話“編程大師的程式再淩亂,也用不著測試,因為它是正確的”。

一個無常的C程式

一個無常的C程式作者:張桂權  謹慎代碼中的bug, 不要做出沒有必要的犧牲。#include <stdio.h>main(){ printf("%g", sqrt(2));}結果:1.531132e-309#include <stdio.h>#include <math.h>main(){ printf("%g",

再談C語言中數組和指標之間的互操作

再談C語言中數組和指標之間的互操作   作者: 張桂權                                                                                                                            

總頁數: 4314 1 .... 2564 2565 2566 2567 2568 .... 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.