[翻譯] Effective C++, 3rd Edition, Item 20: 用 pass-by-reference-to-const(傳給 const 引用)取代 pass-by-value(

Item 20: 用 pass-by-reference-to-const(傳 const 引用)取代 pass-by-value(傳值)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/預設情況下,C++ 以 by value(傳值)方式將 objects 傳入或傳出函數(這是一個從 C 繼承來的特性)。除非你特別指定其它方式,否則 function parameters(

C++調用Python,Python訪問C++中的資料

今天遇到的麻煩是前兩天設計考慮不周詳導致的。在傳統的設計思路中,留給後期運行時可以擴充的部分通常交給資料庫的預存程序實現。例如:儲存某資料時,對資料的檢查。獲得某資料時,對資料的格式化等等。我一開始設計時也是如此考慮的,在設計資料儲存表時,考慮了儲存、檢查、擷取記錄時可以選擇的額外處理:CREATE TABLE IF NOT EXISTS

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

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 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, Chapter 4. Designs(設計)和 Declarations(聲明)

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

[翻譯] Effective C++, 3rd Edition, Item 18: 使 interfaces(介面)易於正確使用,而難以錯誤使用

 Item 18: 使 interfaces(介面)易於正確使用,而難以錯誤使用作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/C++ 被淹沒於 interfaces(介面)中。function interfaces(函數介面)、class interfaces(類介面)、template interfaces(模板介面)。每一個

SystemC——一套將C++擴充為硬體描述語言的Class Library (初學SystemC有感)

這幾日接接觸SystemC,有些感觸:1. SystemC 是一套C++ Class Library,將C++擴充成了一門硬體描述語言(HDL)。我感覺,學習SystemC至少要懂兩樣東西:C++、一門硬體描述語言。我熟悉C++,並且熟悉Verilog,因此學SystemC能舉一反三、觸類旁通。2. SystemC 使用了C++的很多特性:多重繼承、虛擬繼承、模板、RTTI (at least for dynamic_cast)、異常處理、操作符重載。似乎沒有使用STL。3. SystemC

書評:《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 44: 從 templates(模板)中分離出 parameter-independent(參數無關)的代碼(下)

(點擊此處,接上篇)一個可替換方案是讓 SquareMatrixBase 儲存一個指向矩陣的值的記憶體地區的指標。而且一旦它儲存了這個指標,它同樣也可以儲存矩陣大小。最後得到的設計大致就像這樣:template<typename T>class SquareMatrixBase {protected:  SquareMatrixBase(std::size_t n, T *pMem)     // store matrix size and a  : size(n),

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

[翻譯] Effective C++, 3rd Edition, Item 19: 視 class design(類設計)為 type design(類型設計)

Item 19: 視 class design(類設計)為 type design(類型設計)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/在 C++ 中,就像其它 object-oriented programming languages(物件導向程式設計語言),通過定義一個新 class(類)來定義一個新 type(類型)。作為一個 C++

學習C#操縱Visio之五:做了個俄羅斯方塊的遊戲

恩,做了個俄羅斯方塊的遊戲!用Visio做介面顯示,C#程式。 左右鍵控制移動,上鍵控制旋轉,空格放下。耗時3小時完成. 感覺C# 進行visio編程基本上學的差不多了吧..木哈哈。 -------------------------又及,補充一下,就是用C#開啟一個Visio,然後操縱Visio畫出俄羅斯方塊來,並且根據鍵盤控制操縱這個俄羅斯方塊移動,旋轉,下降和消除。   

[翻譯] Effective C++, 3rd Edition, Item 16: 成對使用的 new 和 delete 要使用相同的形式

Item 16: 成對使用的 new 和 delete 要使用相同的形式作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/下面這段代碼有什麼問題?std::string *stringArray = new std::string[100];...delete stringArray;每一樣東西看起來都很正常。也為 new 搭配了一個

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

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

Exceptional C++

(翻譯的太差了)一、文法細節C++不允許修改內建類型的臨時變數預設參數根據靜態類型獲得重載的new和delete操作符永遠都是靜態,不管你聲明static沒有二、慣用法選擇前置遞增,只有打算使用初始值時才使用後置遞增,並且使用前置遞增來實現後置遞增注意由隱式轉換建立的隱藏臨時對象;避免這個問題的好辦法,是使用explicit建構函式,避免編寫轉換操作符永遠不要#include不必要的標頭檔;當前置聲明足夠時,永遠不要#include標頭檔明智的使用名稱空間:如果將一個類放入一個名字空間內,那麼一

Inside The C++ Object Model

期待C++的ABI轉型(cast)其實是一種編譯器指令,大部分情況下它並不改變一個指標所含的真正地址,它隻影響“被指出之記憶體的大小和其內容”的解釋方式;那麼,什麼情況下轉型會導致指標的值發生變化呢?多重繼承時轉向不同基類?Global Objects的記憶體保證會在程式啟用的時候被清0;Local Objects配置於棧中,heap

總頁數: 4314 1 .... 2655 2656 2657 2658 2659 .... 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.