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