出版時間:2008-4 出版社:機械工業(yè)出版社 作者:(美國)貝克爾 頁數:411 譯者:史曉明
Tag標簽:無
內容概要
本書是對TR1進行了完整的介紹。全書共22章,包括元組、智能指針、類模板array、無序關系容器、調用包裝器基礎、mem_fn函數模板、reference_wrapper類模板、類模板function、函數模板bind、類型特性、數值函數、隨機數生成器、頭文件、正則表達式對象、查找、格式化和文件替換、正則表達式的定制以及C語言兼容等內容。全書不僅對枯燥的標準文本給出了淺顯易懂的解釋,還提供了很多示例和練習來幫助我們理解。每個C++程序員都可以從本書中獲益匪淺。
作者簡介
Pete Becker,是一位獨立顧問,擅長于庫的設計和實現(xiàn)。他曾經在Dinkumware,Ltd.工作,在那里他不僅為TR1庫的各個部分編寫了技術文檔,還參與完成了對它們的實現(xiàn)。Pete Becker從一開始就是ISO C++標準委員會的成員,他現(xiàn)在是C++Ox的項目編輯。
書籍目錄
譯者序前言第一部分 基本工具 第1章 元組 1.1 頭文件的摘要 1.2 tuple類模板 1.3 像tuple一樣對std::pair進行存取 1.4 練習 第2章 智能指針 2.1 定義 2.2 關于示例 2.3 頭文件的摘要 2.4 shared_ptr類模板 2.5 類模板weak_ptr 2.6 類模板enable_shared_from_this 2.7 bad_weak_ptr類 2.8 轉換 2.9 受控資源的析構 2.10 異?! ?.11 多線程 2.12 練習第二部分 容器 第3章 基礎知識 3.1 STL部件 3.2 容器 3.3 進一步閱讀 3.4 練習 第4章 類模板array 4.1 類模板array概述 4.2 信息獲取 4.3 訪問 4.4 修改 4.5 迭代 4.6 內嵌類型名稱 4.7 比較 4.8 與tuple類似的接口 4.9 練習 第5章 無序關系容器 5.1 對散列表進行標準化 5.2 散列表 5.3 關系容器和無序容器 5.4 對無序容器的要求 5.5 頭文件和 5.6 類模板hash 5.7 無序容器的實例化 5.8 構造函數 5.9 容器操作 5.10 負載因子和重散列 5.11 優(yōu)化 5.12 進一步閱讀 5.13 練習第三部分 調用包裝器 第6章 調用包裝器基礎 6.1 術語 6.2 對可調用類型的要求 6.3 頭文件的摘要 6.4 類模板result_of 6.5 與現(xiàn)存的函數對象進行交互 6.6 練習 第7章 mem_fn函數模板 第8章 reference_wrapper類模板 8.1 創(chuàng)建 8.2 內嵌類型 8.3 調用 8.4 練習 第9章 類模板function 9.1 構造一個function對象 9.2 訪問 9.3 修改 9.4 比較 9.5 內嵌類型 9.6 調用 9.7 目標對象 9.8 練習 第10章 函數模板bind 10.1 占位符 10.2 unspecified bind(…) 10.3 對bind進行擴展 10.4 練習第四部分 類型特性 第11章 類型特性概述 11.1 頭文件 11.2 輔助類型 11.3 基本類型 11.4 復合類型 11.5 類型屬性 11.6 類型關系 11.7 類型變換 11.8 對齊 11.9 進一步閱讀 11.10 練習第五部分 數值 第12章 數值函數 12.1 關于示例 12.2 浮點值的表示 12.3 管理浮點環(huán)境 12.4 無窮大、非規(guī)范數、NaN和比較 12.5 定義域和值域錯誤 12.6 新的重載規(guī)則 12.7 基本數學函數 12.8 數學特殊函數 12.9 復函數 12.10 進一步閱讀 12.11 練習 第13章 隨機數生成器 13.1 隨機數引擎 13.2 TR1中的引擎模板 13.3 TR1庫中的random_device類 13.4 TR1庫中的預定義引擎 13.5 隨機數分布 13.6 離散分布 13.7 連續(xù)分布 13.8 類模板variate_generator 13.9 進一步閱讀 13.10 練習第六部分 正則表達式 第14章 頭文件 第15章 正則表達式語法 15.1 正則表達式結構 15.2 語法特性 15.3 正則表達式細節(jié) 15.4 關于練習 15.5 練習 第16章 正則表達式對象 16.1 定義 16.2 頭文件的部分摘要 16.3 語法選項 16.4 basic_regex類模板 16.5 預定義的basic_regex類型 16.6 錯誤處理 16.7 練習 第17章 查找 17.1 頭文件的部分摘要 17.2 完整匹配 17.3 查找 17.4 查找選項 17.5 練習 第18章 查找結果 18.1 頭文件的部分摘要 18.2 sub_match類模板 18.3 預定義的sub_match類型 18.4 類模板match_results 18.5 練習 第19章 重復查找 19.1 暴力查找 19.2 regex_iterator類模板 19.3 regex_token_iterator類模板 19.4 練習 第20章 格式化和文本替換 20.1 格式化選項 20.2 格式化文本 20.3 文本替換 20.4 練習 第21章 正則表達式的定制 21.1 字符特性 21.2 locale 21.3 字符匹配 21.4 歸并 21.5 字符類別 21.6 regex_traits類模板第七部分 C語言兼容 第22章 C語言兼容 22.1 整數類型 22.2 64位整數類型 22.3 固定大小的整數類型 22.4 文本轉換 22.5 格式化說明符 22.6 格式化I/O 22.7 字符分類 22.8 布爾類型 22.9 練習附錄 附錄A 頭文件 附錄B 輔助頭文件 附錄C 多線程參考文獻
章節(jié)摘錄
第2章 智能指針 自動對象(auto object)僅當定義它的函數執(zhí)行時才會存在,而全局對象在程序運行時一直存在著。幾乎每一個具有一定規(guī)模(nontrivial)的應用程序都會對某些生命周期介于自動對象和全局對象之間的資源進行控制。具有這類生命周期的資源中最常見的就是內存了,有經驗的程序員會很清楚沒有對動態(tài)分配的內存進行正確的處理會導致怎樣的問題。TR1庫為此提供了一對模板,它們有助于確保資源在需要時始終存在,并且在不再需要時會被正確釋放。這兩個模板是shared_ptr(將在第2.4節(jié)中討論)和weak_ptr(將在第2.5節(jié)中討論)
編輯推薦
“TR1的大小差不多是C++標準庫的2倍。它加入了很多新的功能,甚至是全新類型的庫部件。譬如說,在某些TR1類中,有些內嵌類型的存在與否可能會依賴于其模板參數。對于那些僅對C++標準庫有經驗的程序員來說,這是奇。隆而陌生的。本書非常完整(它覆蓋了所有的TR1功能),它不僅比TR1本身更容易理解,而且在技術上也是正確的。” ——Matthew Austern, Google軟件工程師 “TR1可以幫助C++程序員變得比過去更為多產。Pete Becker編寫的這本書是對這些組件的終極參考手冊:它們是什么、它們是怎么工作的以及它們可以用在哪里。對于那些想要使用這些標準化組件來提高他們的生產率和代碼質量的人來說,應該把這本書放在其書架上。”——John Maddock,顧問/程序員 當前的C++標準庫使用常用的類和函數對C++語言核心進行擴展。在最近幾年里,為了解決C++標準庫的局限,作者開發(fā)了一系列組件來對C++語言進行更進一步的擴展。這些擴展編入一個全面的技術報告中(TR1),并且其中的大部分已經被C++標準的下一個版本通過了?! ”緯校琍ete Becker不僅對TR1庫中的每一個組件都進行了詳細的描寫,還解釋了基本工具、模板、調用包裝器、類型特性、數值、正則表達式以及C語言兼容方面的新功能。通過自己在實現(xiàn)這些組件中所積累的經驗,Pete Becker不僅闡明了它們的價值并在需要時對標準加以澄清,還提供了通過測試的完整代碼。 本書大部分章節(jié)都包含了不同難度的練習來幫助程序員得到這些新組件的實踐經驗。這些練習的答案以及所有的代碼示例都可以在網上找到。附錄中不僅為TR1庫所包含或擴展的頭文件提供了摘要,還介紹了應該怎樣在多線程應用程序中安全地使用這些組件?! ≡摃晒└鞔髮T盒W鳛榻滩氖褂?,也可供從事相關工作的人員作為參考用書使用。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載