[翻譯] Effective C++, 3rd Edition, 附錄 A. 超越 Effective C++

附錄 A. 超越 Effective C++作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/Effective C++ 覆蓋了我認為對當前的 C++ 程式員最重要的通用指導方針,但是如果你有興趣在更多的方面提升你的效力,我推薦你去研讀我的其他 C++ 書籍,More Effective C++ 和 Effective STL。More Effective C++

[翻譯] Effective C++, 3rd Edition, 附錄 B. 第二和第三版之間的 Item 映射

附錄 B. 第二和第三版之間的 Item 映射作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/Effective C++ 的第三版在很多方面與第二版不同,其中最令人信服的是它包含很多新的資訊。然而,第二版的大部分內容依然保留在第三版中,雖然經常會改變形式和位置。在後面幾頁的表格中,我展示了第二版 Items

學習C++模板元編程(1)

   TAOCP沒看多久,覺得裡面的數學知識太深了,離開學校多年,很多基礎知識已記不起來了,學起來有點累,所以結束了TAOCP的學習,轉到了《C++ Template Metaprogramming》。剛看完書中的第二章,關於 Type traits的,習題中有一條比較有趣,就是模仿cdecl命令將一個C++的類型用pseudo-English(偽英語)描述出來,例如:對於 char *(*[])() ,輸出“array of pointer to function returning

[翻譯] Effective C++, 3rd Edition, Item 4: 確保 objects(對象)在使用前被初始化

Item 4: 確保 objects(對象)在使用前被初始化作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/C++ 看上去在對象的值的初始化方面變化莫測。例如,如果你這樣做,int x;在某些情形下,x 會被初始化(為 0),但是在其它情形下,也可能沒有。如果你這樣做,class Point {  int x, y;};...Point p;p 的 data

[翻譯] Effective C++, 3rd Edition, Item 47: 為類型資訊使用 traits classes(特徵類)(下)

(點擊此處,接上篇)iterator_traits 通過兩部分實現這一點。首先,它強制要求任何 user-defined iterator(使用者定義迭代器)類型必須包含一個名為 iterator_category 的嵌套 typedef 用以識別適合的 tag struct(標籤結構體)。例如,deque 的 iterators(迭代器)是隨機訪問的,所以一個 deque iterators 的 class 看起來就像這樣:template < ... >             

[翻譯] Effective C++, 3rd Edition, Item 24: 當希望將 type conversions(類型轉換)應用於所有 parameters(參數)時,請聲明為 non-

Item 24: 當希望將 type conversions(類型轉換)應用於所有 parameters(參數)時,請聲明為 non-member functions(非成員函數)作者:Scott Meyers 譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/在本書的 Introduction(導言)中我談到讓 classes 支援 implicit type

The Ten Commandments for C Programmers

The Ten Commandments for C Programmers(Annotated Edition)by Henry Spencer1Thou shalt run lint frequently and study its pronouncements with care, for verily its perception and judgement oft exceed thine.This is still wise counsel, although many

共用Windows下C++庫之線程池篇

 上一篇我把建立單個線程的源碼給出來了,當然,線程池的也不能拉下~ 很多時候,我們需要一組線程來解決問題。當然可以建立一些線程來完成工作,然後關閉掉。當又需要時,重複上述過程即可。然而,無論是用戶端還是服務端,完全沒必要如此,只需要實現建立一組線程,按需分配,不必建立--關閉--建立--關閉… 也許我們也能自己寫成符合需求的線程池組件,但是,系統也提供了線程池組件。我認為就應該重複利用(出於學習的目的另當別論)。在這裡,主要針對XP系統,提供一組C++ wrap過的線程池組件和模仿ATL線程池。

[翻譯] Effective C++, 3rd Edition, Item 47: 為類型資訊使用 traits classes(特徵類)(上)

Item 47: 為類型資訊使用 traits classes(特徵類)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/STL 主要是由 containers(容器),iterators(迭代器)和 algorithms(演算法)的 templates(模板)構成的,但是也有幾個 utility templates(工具模板)。其中一個被稱為

thrift C++伺服器/用戶端開發

內容轉自:http://blog.csdn.net/hbuxiaoshe/article/details/6558391原文內容如下:我用的是c++,所以我舉一個c++的例子,簡單說一下thrift的使用入門。例子描述是這樣的:我們將學生資訊(學號,姓名,性別,年齡)由用戶端發送到服務端。實現這個例子,我們大致要做以下幾部分事情:(1)書寫.thrift檔案(2)產生cpp檔案(3)編寫用戶端(4)編譯cpp檔案並執行 (1)書寫.thrift檔案學生資訊是有結構的,所以我們使用thrift的s

[翻譯] Effective C++, 3rd Edition, Item 39: 謹慎使用 private inheritance(私人繼承)(上)

Item 39: 謹慎使用 private inheritance(私人繼承)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/Item 32 論述了 C++ 將 public inheritance(公有繼承)視為一個 is-a 關係。當給定一個 hierarchy(繼承體系),其中有一個 class Student 從一個 class Person

Beyond the C++ Standard Library: An Introduction to Boost — Library 1.3 scoped_array

scoped_array標頭檔: "boost/scoped_array.hpp"需要動態分配數組時,通常最好用std::vector來實現,但是有兩種情形,看起來用數組更應該: 一種是為了最佳化,用vector多少有一些額外的記憶體和速度開銷;另一種是為了某種原因,必須要求數組的大小是固定的。[5]

[翻譯] Effective C++, 3rd Edition, Item 50: 領會何時替換 new 和 delete 才有意義

Item 50: 領會何時替換 new 和 delete 才有意義作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/讓我們先回顧一下基礎。為什麼有些人想要替換編譯器提供的 operator new 或 operator delete 版本呢?有三個最主要的原因:為了監測使用錯誤。對由 new 產生的記憶體沒有實行 delete 會導致記憶體流失。在 new

共用Windows下C++庫之非同步http組件

簡介最近在做一個crawler,為了更好的發揮抓取web的能力,需要用到非同步http。其中DNS解析、下載都需要非同步。 本組件基於WinHTTP實現,如果以後有需要再從頭構造輪子吧(基於iocp的非同步架構)。對於WinHTTP的思想,MSDN很多介紹,這裡,這裡說明該組件使用十分簡單,只需要完成幾種回調介面即可1. 完成HTTP HEADER2. 完成HTTP 整個內容3. 讀取HTTP本文4. 跳轉URL5. 錯誤處理針對WinHTTP的思想,抽象了幾個重要概念1.

學習C++模板元編程(2)

 再看一道簡單一些的習題:寫一個三個參數的元函數replace_type<c, x, y>,其中第一個參數c為任意的組合類別型,該元函數將c中出現的所有x類型以y類型替換掉。例如:typedef replace_type< void*, void, int >::type t1; // int* typedef replace_type<int const*[10], int const, long>::type t2; // long*

CALLBACK函數) – C/C++

調用(calling)機制從彙編時代起已經大量使用:準備一段現成的代碼,調用者可以隨時跳轉至此段代碼的起始地址,執行完後再返回跳轉時的後續地址。 CPU為此準備了現成的調用指令,調用時可以壓棧保護現場,調用結束後從堆棧中彈出現場地址,以便自動返回。借堆棧保護現場真是一項絕妙的發明,它使調用者和被調者可以互不相識,於是才有了後來的函數和構件,使吾輩編程者如此輕鬆愉快。若評選對人類影響最大之發明,在火與車輪之後,筆者當推壓棧調用。  

C++控制台程式中使用定時器

轉自部落格:http://www.cnblogs.com/phinecos/archive/2008/03/08/1096691.html作者:洞庭散人“我現在項目是一個控制台程式,用到的Win32API都是與介面無關的,今天需要加入定時器重新整理的功能,由於沒有訊息迴圈,所以WM_TIMER訊息應該如何處理呢?綜合了下網上找到的資料,寫了個簡單的demo,個人以為這種在一個線程中建立定時器,再通過指定的回呼函數來處理定時器觸發的模式是比較好的。”demo: #include

C#(winform) 工具箱中添加組件

 今天在部落格園上看到一個部落格,是關於Winform分頁控制項使用詳細介紹 ,覺的這個控制項非常不錯,所以就把這封裝好的控制項down下來,試用一下,這就碰到問題了,那如何在工具箱中添加控制項呢?這是我經過 摸索尋找的一條路。首先在工具箱右鍵點擊 添加選項卡,然後添加一個分頁控制項的選項卡,如下:然後再分頁控制項的選項卡中右鍵點擊  選擇項,如下:點擊 瀏覽,選擇 你下載下來的分頁控制項的dll,就是WHC.Pager.WinControlEx.dll, 點擊確定,則點擊確定,即可看到    

C的|、||、&、&&、異或、~、!運算

位元運算    位元運算的運算分量只能是整型或字元型資料,位元運算把運算對象看作是由二進位組成的位串資訊,按位完成指定的運算,得到位串資訊的結果。位元運算符有:    &(按位與)、|(按位或)、^(按位異或)、~ (按位取反)。    其中,按位取反運算子是單目運算子,其餘均為雙目運算子。    位元運算符的優先順序從高到低,依次為~、&、^、|,    其中~的結合方向自右至左,且優先順序高於算術運算子,其餘運算子的結合方向都是自左至右,且優先順序低於關係運算子。   (1)

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