C++標準庫(第2版)
作品簡(jiǎn)介
本書(shū)是全球C++經(jīng)典權威參考書(shū)籍時(shí)隔12年,基于C++11標準的全新重大升級。標準庫提供了一組公共類(lèi)和接口,極大地拓展了C++語(yǔ)言核心功能。本書(shū)詳細講解了每一標準庫組件,包括其設計目的和方法、復雜概念的剖析、實(shí)用而高效的編程細節、存在的陷阱、重要的類(lèi)和函數,又輔以大量用C++11標準實(shí)現的實(shí)用代碼范例。除覆蓋全新組件、特性外,本書(shū)一如前版,重點(diǎn)著(zhù)眼于標準模板庫(STL),涉及容器、迭代器、函數對象以及STL算法。此外,本書(shū)同樣關(guān)注lambda表達式、基于區間的for循環(huán)、move語(yǔ)義及可變參數模板等標準庫中的新式C++編程風(fēng)格及其影響。
作者:
Nicolai M.Josuttis,是一名獨立技術(shù)顧問(wèn),為電信、交通、金融和制造業(yè)設計過(guò)大中型軟件系統。他曾是C++標準委員會(huì )庫工作小組成員,因其權威著(zhù)作而在編程領(lǐng)域聲名鵲起。除了最為暢銷(xiāo)的《C++標準庫》(第1版出版于1999年),其著(zhù)作還包括C++ Templates:The Complete Guide(與David Vandevoorde合著(zhù),由Addison-Wesley于2003年出版),以及SOA in Practice:The Art of Distributed System Design(由O’Reilly Media于2007年出版,簡(jiǎn)體中文版《SOA實(shí)踐指南——分布式系統設計的藝術(shù)》由電子工業(yè)出版社于2008年出版)。
譯者:
侯捷,計算機技術(shù)書(shū)籍的作家、譯者、書(shū)評人,長(cháng)期活躍于C++技術(shù)分享與教學(xué)領(lǐng)域。著(zhù)有《深入淺出MFC》《多型與虛擬》《STL源碼剖析》《無(wú)責任書(shū)評》三卷,譯有眾多膾炙人口的權威技術(shù)書(shū)籍,包括Meyers所著(zhù)的“Effective C++”系列。侯捷兼任教職于元智大學(xué)、同濟大學(xué)、南京大學(xué)。
作品目錄
- 內容簡(jiǎn)介
- 第2版序言
- 第2版致謝
- 第1版序言
- 第1版致謝
- 第1章 關(guān)于本書(shū)
- 1.1 緣起
- 1.2 閱讀前的必要基礎
- 1.3 本書(shū)風(fēng)格與結構
- 1.4 如何閱讀本書(shū)
- 1.5 目前發(fā)展情勢
- 1.6 范例代碼及額外信息
- 1.7 反饋
- 第2章 C++及標準庫簡(jiǎn)介
- 2.1 C++Standard的歷史
- 2.2 復雜度與Big-O標記
- 第3章 語(yǔ)言新特性
- 3.1 C++11語(yǔ)言新特性
- 3.2 雖舊猶新的語(yǔ)言特性
- 第4章 一般概念
- 4.1 命名空間(Namespace)std
- 4.2 頭文件(Header File)
- 4.3 差錯和異常(Error and Exception)的處理
- 4.4 Callable Object(可被調用的對象)
- 4.5 并發(fā)與多線(xiàn)程
- 4.6 分配器(Allocator)
- 第5章 通用工具
- 5.1 Pair和Tuple
- 5.2 Smart Pointer(智能指針)
- 5.3 數值的極值(Numeric Limit)
- 5.4 Type Trait和Type Utility
- 5.5 輔助函數
- 5.6 Class ratio<>的編譯期分數運算
- 5.7 Clock和Timer
- 5.8 頭文件<cstddef>、<cstdlib>和<cstring>
- 第6章 標準模板庫
- 6.1 STL組件(Component)
- 6.2 容器(Container)
- 6.3 迭代器(Iterator)
- 6.4 算法(Algorithm)
- 6.5 迭代器之適配器(Iterator Adapter)
- 6.6 用戶(hù)自定義的泛型函數(User-Defined GenericFunction)
- 6.7 更易型算法(Manipulating Algorithm)
- 6.8 以函數作為算法的實(shí)參
- 6.9 使用Lambda
- 6.10 函數對象(Function Object)
- 6.11 容器內的元素
- 6.12 STL內部的錯誤和異常
- 6.13 擴展STL
- 第7章 STL容器
- 7.1 容器的共通能力和共通操作
- 7.2 Array
- 7.3 Vector
- 7.4 Deque
- 7.5 List
- 7.6 Forward List
- 7.7 Set和Multiset
- 7.8 Map和Multimap
- 7.9 無(wú)序容器(Unordered Container)
- 7.10 其他STL容器
- 7.11 實(shí)現Reference語(yǔ)義
- 7.12 各種容器的使用時(shí)機
- 第8章 細探STL容器成員
- 8.1 容器內的類(lèi)型
- 8.2 創(chuàng )建、復制和銷(xiāo)毀(Create,Copy,and Destroy)
- 8.3 非更易型操作(Nonmodifying Operation)
- 8.4 賦值(Assignment)
- 8.5 元素直接訪(fǎng)問(wèn)(Direct Element Access)
- 8.6 “產(chǎn)出迭代器”之各項操作
- 8.7 安插和移除(Inserting and Removing)元素
- 8.8 List和Forward List的特殊成員函數
- 8.9 容器的策略接口(Policy Interface)
- 8.10 對分配器(Allocator)的支持
- 第9章 STL迭代器
- 9.1 迭代器頭文件(Header Files for Iterators)
- 9.2 迭代器種類(lèi)(Iterator Category)
- 9.3 迭代器相關(guān)輔助函數
- 9.4 迭代器適配器(Iterator Adapter)
- 9.5 Iterator Trait(迭代器特性)
- 9.6 用戶(hù)自定義(User-Defined)迭代器
- 第10章 STL函數對象及Lambda
- 10.1 Function Object(函數對象)的概念
- 10.2 預定義的Function Object和Binder
- 10.3 運用Lambda
- 第11章 STL算法
- 11.1 算法頭文件(Header File)
- 11.2 算法概觀(guān)
- 11.3 輔助函數
- 11.4 for_each()算法
- 11.5 非更易型算法(Nonmodifying Algorithm)
- 11.6 更易型算法(Modifying Algorithm)
- 11.7 移除型算法(Removing Algorithm)
- 11.8 變序型算法(Mutating Algorithm)
- 11.9 排序算法(Sorting Algorithm)
- 11.10 已排序區間算法(Sorted-Range Algorithm)
- 11.11 數值算法(Numeric Algorithm)
- 第12章 特殊容器
- 12.1 Stack(堆棧)
- 12.2 Queue(隊列)
- 12.3 Priority Queue(帶優(yōu)先級的隊列)
- 12.4 細究Container Adapter
- 12.5 Bitset
- 第13章 字符串
- 13.1 String Class的目的
- 13.2 String Class細節描述
- 13.3 細究String Class
- 第14章 正則表達式
- 14.1 Regex的匹配和查找接口(Match and Search Interface)
- 14.2 處理“次表達式”(Subexpression)
- 14.3 Regex Iterator
- 14.4 Regex Token Iterator
- 14.5 用于替換的正則表達式
- 14.6 Regex Flag
- 14.7 Regex的異常(Exception)
- 14.8 Regex ECMAScript文法
- 14.9 其他文法
- 14.10 細究Basic Regex簽名式
- 第15章 以Stream完成I/O
- 15.1 I/O Stream的共通基礎
- 15.2 基本Stream Class和其對象
- 15.3 標準的Stream操作符<<和>>
- 15.4 Stream的狀態(tài)(State)
- 15.5 標準I/O函數
- 15.6 操控器(Manipulator)
- 15.7 格式化(Formatting)
- 15.8 國際化(Internationalization)
- 15.9 文件訪(fǎng)問(wèn)(File Access)
- 15.10 為String而設計的Stream Class
- 15.11 “用戶(hù)自定義類(lèi)型”之I/O操作符
- 15.12 連接Input和Output Stream
- 15.13 Stream Buffer Class
- 15.14 關(guān)于效能(Performance)
- 第16章 國際化
- 16.1 字符編碼和字符集
- 16.2 Locale(地域)概念
- 16.3 細究Locale
- 16.4 細究Facet
- 第17章 數值
- 17.1 隨機數及分布(Random Number and Distribu-tion)
- 17.2 復數(Complex Number)
- 17.3 全局數值函數(Global Numeric Function)
- 17.4 Valarray
- 第18章 并發(fā)
- 18.1 高級接口:async()和Future
- 18.2 低層接口:Thread和Promise
- 18.3 細說(shuō)啟動(dòng)線(xiàn)程(Starting a Thread)
- 18.4 線(xiàn)程同步化與Concurrency(并發(fā))問(wèn)題
- 18.5 Mutex和Lock
- 18.6 Condition Variable(條件變量)
- 18.7 Atomic
- 第19章 分配器
- 19.1 以應用程序開(kāi)發(fā)者的角度使用Allocator
- 19.2 用戶(hù)自定義的Allocator
- 19.3 以程序庫開(kāi)發(fā)者的角度使用Allocator
- 參考書(shū)目
- 新聞組及論壇(Newsgroup and Forum)
- 書(shū)籍和網(wǎng)站

