C++標準庫(第2版)
作品簡介
本書是全球C++經典權威參考書籍時隔12年,基于C++11標準的全新重大升級。標準庫提供了一組公共類和接口,極大地拓展了C++語言核心功能。本書詳細講解了每一標準庫組件,包括其設計目的和方法、復雜概念的剖析、實用而高效的編程細節、存在的陷阱、重要的類和函數,又輔以大量用C++11標準實現的實用代碼范例。除覆蓋全新組件、特性外,本書一如前版,重點著眼于標準模板庫(STL),涉及容器、迭代器、函數對象以及STL算法。此外,本書同樣關注lambda表達式、基于區間的for循環、move語義及可變參數模板等標準庫中的新式C++編程風格及其影響。
作者:
Nicolai M.Josuttis,是一名獨立技術顧問,為電信、交通、金融和制造業設計過大中型軟件系統。他曾是C++標準委員會庫工作小組成員,因其權威著作而在編程領域聲名鵲起。除了最為暢銷的《C++標準庫》(第1版出版于1999年),其著作還包括C++ Templates:The Complete Guide(與David Vandevoorde合著,由Addison-Wesley于2003年出版),以及SOA in Practice:The Art of Distributed System Design(由O’Reilly Media于2007年出版,簡體中文版《SOA實踐指南——分布式系統設計的藝術》由電子工業出版社于2008年出版)。
譯者:
侯捷,計算機技術書籍的作家、譯者、書評人,長期活躍于C++技術分享與教學領域。著有《深入淺出MFC》《多型與虛擬》《STL源碼剖析》《無責任書評》三卷,譯有眾多膾炙人口的權威技術書籍,包括Meyers所著的“Effective C++”系列。侯捷兼任教職于元智大學、同濟大學、南京大學。
作品目錄
- 內容簡介
- 第2版序言
- 第2版致謝
- 第1版序言
- 第1版致謝
- 第1章 關于本書
- 1.1 緣起
- 1.2 閱讀前的必要基礎
- 1.3 本書風格與結構
- 1.4 如何閱讀本書
- 1.5 目前發展情勢
- 1.6 范例代碼及額外信息
- 1.7 反饋
- 第2章 C++及標準庫簡介
- 2.1 C++Standard的歷史
- 2.2 復雜度與Big-O標記
- 第3章 語言新特性
- 3.1 C++11語言新特性
- 3.2 雖舊猶新的語言特性
- 第4章 一般概念
- 4.1 命名空間(Namespace)std
- 4.2 頭文件(Header File)
- 4.3 差錯和異常(Error and Exception)的處理
- 4.4 Callable Object(可被調用的對象)
- 4.5 并發與多線程
- 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 用戶自定義的泛型函數(User-Defined GenericFunction)
- 6.7 更易型算法(Manipulating Algorithm)
- 6.8 以函數作為算法的實參
- 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 無序容器(Unordered Container)
- 7.10 其他STL容器
- 7.11 實現Reference語義
- 7.12 各種容器的使用時機
- 第8章 細探STL容器成員
- 8.1 容器內的類型
- 8.2 創建、復制和銷毀(Create,Copy,and Destroy)
- 8.3 非更易型操作(Nonmodifying Operation)
- 8.4 賦值(Assignment)
- 8.5 元素直接訪問(Direct Element Access)
- 8.6 “產出迭代器”之各項操作
- 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 迭代器種類(Iterator Category)
- 9.3 迭代器相關輔助函數
- 9.4 迭代器適配器(Iterator Adapter)
- 9.5 Iterator Trait(迭代器特性)
- 9.6 用戶自定義(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 算法概觀
- 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(帶優先級的隊列)
- 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的狀態(State)
- 15.5 標準I/O函數
- 15.6 操控器(Manipulator)
- 15.7 格式化(Formatting)
- 15.8 國際化(Internationalization)
- 15.9 文件訪問(File Access)
- 15.10 為String而設計的Stream Class
- 15.11 “用戶自定義類型”之I/O操作符
- 15.12 連接Input和Output Stream
- 15.13 Stream Buffer Class
- 15.14 關于效能(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章 并發
- 18.1 高級接口:async()和Future
- 18.2 低層接口:Thread和Promise
- 18.3 細說啟動線程(Starting a Thread)
- 18.4 線程同步化與Concurrency(并發)問題
- 18.5 Mutex和Lock
- 18.6 Condition Variable(條件變量)
- 18.7 Atomic
- 第19章 分配器
- 19.1 以應用程序開發者的角度使用Allocator
- 19.2 用戶自定義的Allocator
- 19.3 以程序庫開發者的角度使用Allocator
- 參考書目
- 新聞組及論壇(Newsgroup and Forum)
- 書籍和網站
免責聲明:本站詞條系由網友創建、編輯和維護,內容僅供參考。
以上內容均為商業內容展示,僅供參考,不具備專業問題解決服務,
如果您需要解決具體問題(尤其在法律、醫學等領域),建議您咨詢相關領域的專業人士。
如您發現詞條內容涉嫌侵權,請通過 948026894@qq.com 與我們聯系進行刪除處理!