C++ Primer中文版(第5版)(頂級暢銷書重磅升級 全面采用最新 C++ 11標(biāo)準(zhǔn))(英文版鏈接:http://product.dangdang.com/23225887.html)
定 價:128 元
- 作者:(美)李普曼,(美)拉喬伊 ,(美)默 著,王剛,楊巨峰 譯
- 出版時間:2013/9/1
- ISBN:9787121155352
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP312
- 頁碼:838
- 紙張:膠版紙
- 版次:1
- 開本:16開
這本久負(fù)盛名的 C++經(jīng)典教程,時隔八年之久,終迎來史無前例的重大升級。除令全球無數(shù)程序員從中受益,甚至為之迷醉的——C++大師 Stanley B. Lippman 的豐富實(shí)踐經(jīng)驗(yàn),C++標(biāo)準(zhǔn)委員會原負(fù)責(zé)人 Josée Lajoie對C++標(biāo)準(zhǔn)的深入理解,以及C++ 先驅(qū) Barbara E. Moo 在 C++教學(xué)方面的真知灼見外,更是基于全新的C++11標(biāo)準(zhǔn)進(jìn)行了全面而徹底的內(nèi)容更新。非常難能可貴的是,《C++ Primer 中文版(第5版)》所有示例均全部采用 C++11標(biāo)準(zhǔn)改寫,這在經(jīng)典升級版中極其罕見——充分體現(xiàn)了 C++語言的重大進(jìn)展及其全面實(shí)踐。書中豐富的教學(xué)輔助內(nèi)容、醒目的知識點(diǎn)提示,以及精心組織的編程示范,讓這本書在 C++領(lǐng)域的權(quán)威地位更加不可動搖。無論是初學(xué)者入門,或是中、高級程序員提升,本書均為不容置疑的首選。
英文版推薦:C++Primer英文版(第5版)(史上最暢銷C++書,全新標(biāo)準(zhǔn)全面重寫) C++領(lǐng)域權(quán)威 潘愛民|孟巖作序,代表技術(shù)圈鼎力推薦一線C++工程師騰訊Milo、微軟劉未鵬|陳梓瀚、阿里李云|侯鳳林高水準(zhǔn)技術(shù)審校如果只讀一本C++書籍,相信所有讀過的人都會毫不猶豫選擇本書,無論初學(xué)或老手既可用來理解C++11規(guī)則背后的原理,也可用其新語言特性與標(biāo)準(zhǔn)庫來快速構(gòu)建健壯程序采用中文版頁碼全面呈現(xiàn)原書大量交叉引用及詳盡索引,新式輔學(xué)設(shè)置與課后操練用于避開陷阱、鞏固良法
Stanley B. Lippman目前是微軟公司 Visual C++團(tuán)隊(duì)的架構(gòu)師。他從1984年開始在貝爾實(shí)驗(yàn)室與C++的設(shè)計者BjarneStroustrup一起從事C++的設(shè)計與開發(fā)。他在迪士尼和夢工廠從事動畫制作,還擔(dān)任過JPL的高級顧問。
Josée Lajoie曾經(jīng)是IBM加拿大研究中心C/C++編譯器開發(fā)團(tuán)隊(duì)的成員,在ISOC++標(biāo)準(zhǔn)委員會工作了7年,擔(dān)任過ISO核心語言工作組的主席和C++ Report雜志的專欄作家。
Barbara E.Moo是擁有25年軟件經(jīng)驗(yàn)的獨(dú)立咨詢顧問。在AT&T,她與Stroustrup、Lippman一起管理過復(fù)雜的C++開發(fā)項(xiàng)目。
第1章 開始
1.1 編寫一個簡單的C++程序
1.1.1 編譯、運(yùn)行程序
1.2 初識輸入輸出
1.3 注釋簡介
1.4 控制流
1.4.1 while語句
1.4.2 for語句
1.4.3 讀取數(shù)量不定的輸入數(shù)據(jù)
1.4.4 if語句
1.5 類簡介
1.5.1 Sales_item類
1.5.2 初識成員函數(shù)
1.6 書店程序
小結(jié)
第1章 開始
1.1 編寫一個簡單的C++程序
1.1.1 編譯、運(yùn)行程序
1.2 初識輸入輸出
1.3 注釋簡介
1.4 控制流
1.4.1 while語句
1.4.2 for語句
1.4.3 讀取數(shù)量不定的輸入數(shù)據(jù)
1.4.4 if語句
1.5 類簡介
1.5.1 Sales_item類
1.5.2 初識成員函數(shù)
1.6 書店程序
小結(jié)
術(shù)語表
第Ⅰ部分 C++基礎(chǔ)
第2章 變量和基本類型
2.1 基本內(nèi)置類型
2.1.1 算術(shù)類型
2.1.2 類型轉(zhuǎn)換
2.1.3 字面值常量
2.2 變量
2.2.1 變量定義
2.2.2 變量聲明和定義的關(guān)系
2.2.3 標(biāo)識符
2.2.4 名字的作用域
2.3 復(fù)合類型
2.3.1 引用
2.3.2 指針
2.3.3 理解復(fù)合類型的聲明
2.4 const限定符
2.4.1 const的引用
2.4.2 指針和const
2.4.3 頂層const
2.4.4 constexpr和常量表達(dá)式
2.5 處理類型
2.5.1 類型別名
2.5.2 auto類型說明符
2.5.3 decltype類型指示符
2.6 自定義數(shù)據(jù)結(jié)構(gòu)
2.6.1 定義Sales_data類型
2.6.2 使用Sales_data類
2.6.3 編寫自己的頭文件
小結(jié)
術(shù)語表
第3章 字符串、向量和數(shù)組
3.1 命名空間的using聲明
3.2 標(biāo)準(zhǔn)庫類型string
3.2.1 定義和初始化string對象
3.2.2 string對象上的操作
3.2.3 處理string對象中的字符
3.3 標(biāo)準(zhǔn)庫類型vector
3.3.1 定義和初始化vector對象
3.3.2 向vector對象中添加元素
3.3.3 其他vector操作
3.4 迭代器介紹
3.4.1 使用迭代器
3.4.2 迭代器運(yùn)算
3.5 數(shù)組
3.5.1 定義和初始化內(nèi)置數(shù)組
3.5.2 訪問數(shù)組元素
3.5.3 指針和數(shù)組
3.5.4 C風(fēng)格字符串
3.5.5 與舊代碼的接口
3.6 多維數(shù)組
小結(jié)
術(shù)語表
第4章 表達(dá)式
4.1 基礎(chǔ)
4.1.1 基本概念
4.1.2 優(yōu)先級與結(jié)合律
4.1.3 求值順序
4.2 算術(shù)運(yùn)算符
4.3 邏輯和關(guān)系運(yùn)算符
4.4 賦值運(yùn)算符
4.5 遞增和遞減運(yùn)算符
4.6 成員訪問運(yùn)算符
4.7 條件運(yùn)算符
4.8 位運(yùn)算符
4.9 sizeof運(yùn)算符
4.10 逗號運(yùn)算符
4.11 類型轉(zhuǎn)換
4.11.1 算術(shù)轉(zhuǎn)換
4.11.2 其他隱式類型轉(zhuǎn)換
4.11.3 顯式轉(zhuǎn)換
4.12 運(yùn)算符優(yōu)先級表
小結(jié)
術(shù)語表
第5章 語句
5.1 簡單語句
5.2 語句作用域
5.3 條件語句
5.3.1 if語句
5.3.2 switch語句
5.4 迭代語句
5.4.1 while語句
5.4.2 傳統(tǒng)的for語句
5.4.3 范圍for語句
5.4.4 do while語句
5.5 跳轉(zhuǎn)語句
5.5.1 break語句
5.5.2 continue語句
5.5.3 goto語句
5.6 TRY語句塊和異常處理
5.6.1 throw表達(dá)式
5.6.2 try語句塊
5.6.3 標(biāo)準(zhǔn)異常
小結(jié)
術(shù)語表
第6章 函數(shù)
6.1 函數(shù)基礎(chǔ)
6.1.1 局部對象
6.1.2 函數(shù)聲明
6.1.3 分離式編譯
6.2 參數(shù)傳遞
6.2.1 傳值參數(shù)
6.2.2 傳引用參數(shù)
6.2.3 const形參和實(shí)參
6.2.4 數(shù)組形參
6.2.5 main:處理命令行選項(xiàng)
6.2.6 含有可變形參的函數(shù)
6.3 返回類型和return語句
6.3.1 無返回值函數(shù)
6.3.2 有返回值函數(shù)
6.3.3 返回數(shù)組指針
6.4 函數(shù)重載
6.4.1 重載與作用域
6.5 特殊用途語言特性
6.5.1 默認(rèn)實(shí)參
6.5.2 內(nèi)聯(lián)函數(shù)和constexpr函數(shù)
6.5.3 調(diào)試幫助
6.6 函數(shù)匹配
6.6.1 實(shí)參類型轉(zhuǎn)換
6.7 函數(shù)指針
小結(jié)
術(shù)語表
第7章 類
7.1 定義抽象數(shù)據(jù)類型
7.1.1 設(shè)計Sales_data類
7.1.2 定義改進(jìn)的Sales_data類
7.1.3 定義類相關(guān)的非成員函數(shù)
7.1.4 構(gòu)造函數(shù)
7.1.5 拷貝、賦值和析構(gòu)
7.2 訪問控制與封裝
7.2.1 友元
7.3 類的其他特性
7.3.1 類成員再探
7.3.2 返回*this的成員函數(shù)
7.3.3 類類型
7.3.4 友元再探
7.4 類的作用域
7.4.1 名字查找與類的作用域
7.5 構(gòu)造函數(shù)再探
7.5.1 構(gòu)造函數(shù)初始值列表
7.5.2 委托構(gòu)造函數(shù)
7.5.3 默認(rèn)構(gòu)造函數(shù)的作用
7.5.4 隱式的類類型轉(zhuǎn)換
7.5.5 聚合類
7.5.6 字面值常量類
7.6 類的靜態(tài)成員
小結(jié)
術(shù)語表
第Ⅱ部 C++標(biāo)準(zhǔn)庫
第8章 IO庫
8.1 IO類
8.1.1 IO對象無拷貝或賦值
8.1.2 條件狀態(tài)
8.1.3 管理輸出緩沖
8.2 文件輸入輸出
8.2.1 使用文件流對象
8.2.2 文件模式
8.3 string流
8.3.1 使用istringstream
8.3.2 使用ostringstream
小結(jié)
術(shù)語表
第9章 順序容器
9.1 順序容器概述
9.2 容器庫概覽
9.2.1 迭代器
9.2.2 容器類型成員
9.2.3 begin和end成員
9.2.4 容器定義和初始化
9.2.5 賦值和swap
9.2.6 容器大小操作
9.2.7 關(guān)系運(yùn)算符
9.3 順序容器操作
9.3.1 向順序容器添加元素
9.3.2 訪問元素
9.3.3 刪除元素
9.3.4 特殊的forward_list操作
9.3.5 改變?nèi)萜鞔笮?br />9.3.6 容器操作可能使迭代器失效
9.4 vector對象是如何增長的
9.5 額外的string操作
9.5.1 構(gòu)造string的其他方法
9.5.2 改變string的其他方法
9.5.3 string搜索操作
9.5.4 compare函數(shù)
9.5.5 數(shù)值轉(zhuǎn)換
9.6 容器適配器
小結(jié)
術(shù)語表
第10章 泛型算法
10.1 概述
10.2 初識泛型算法
10.2.1 只讀算法
10.2.2 寫容器元素的算法
10.2.3 重排容器元素的算法
10.3 定制操作
10.3.1 向算法傳遞函數(shù)
10.3.2 lambda表達(dá)式
10.3.3 lambda捕獲和返回
10.3.4 參數(shù)綁定
10.4 再探迭代器
10.4.1 插入迭代器
10.4.2 iostream迭代器
10.4.3 反向迭代器
10.5 泛型算法結(jié)構(gòu)
10.5.1 5類迭代器
10.5.2 算法形參模式
10.5.3 算法命名規(guī)范
10.6 特定容器算法
小結(jié)
術(shù)語表
第11章 關(guān)聯(lián)容器
11.1 使用關(guān)聯(lián)容器
11.2 關(guān)聯(lián)容器概述
11.2.1 定義關(guān)聯(lián)容器
11.2.2 關(guān)鍵字類型的要求
11.2.3 pair類型
11.3 關(guān)聯(lián)容器操作
11.3.1 關(guān)聯(lián)容器迭代器
11.3.2 添加元素
11.3.3 刪除元素
11.3.4 map的下標(biāo)操作
11.3.5 訪問元素
11.3.6 一個單詞轉(zhuǎn)換的map
11.4 無序容器
小結(jié)
術(shù)語表
第12章 動態(tài)內(nèi)存
12.1 動態(tài)內(nèi)存與智能指針
12.1.1 shared_ptr類
12.1.2 直接管理內(nèi)存
12.1.3 shared_ptr和new結(jié)合使用
12.1.4 智能指針和異常
12.1.5 unique_ptr
12.1.6 weak_ptr
12.2 動態(tài)數(shù)組
12.2.1 new和數(shù)組
12.2.2 allocator類
12.3 使用標(biāo)準(zhǔn)庫:文本查詢程序
12.3.1 文本查詢程序設(shè)計
12.3.2 文本查詢程序類的定義
小結(jié)
術(shù)語表
第Ⅲ部分 類設(shè)計者的工具
第13章 拷貝控制
13.1 拷貝、賦值與銷毀
13.1.1 拷貝構(gòu)造函數(shù)
13.1.2 拷貝賦值運(yùn)算符
13.1.3 析構(gòu)函數(shù)
13.1.4 三/五法則
13.1.5 使用=default
13.1.6 阻止拷貝
13.2 拷貝控制和資源管理
13.2.1 行為像值的類
13.2.2 定義行為像指針的類
13.3 交換操作
13.4 拷貝控制示例
13.5 動態(tài)內(nèi)存管理類
13.6 對象移動
13.6.1 右值引用
13.6.2 移動構(gòu)造函數(shù)和移動賦值運(yùn)算符
13.6.3 右值引用和成員函數(shù)
小結(jié)
術(shù)語表
第14章 操作重載與類型轉(zhuǎn)換
14.1 基本概念
14.2 輸入和輸出運(yùn)算符
14.2.1 重載輸出運(yùn)算符<<
14.2.2 重載輸入運(yùn)算符>>
14.3 算術(shù)和關(guān)系運(yùn)算符
14.3.1 相等運(yùn)算符
14.3.2 關(guān)系運(yùn)算符
14.4 賦值運(yùn)算符
14.5 下標(biāo)運(yùn)算符
14.6 遞增和遞減運(yùn)算符
14.7 成員訪問運(yùn)算符
14.8 函數(shù)調(diào)用運(yùn)算符
14.8.1 lambda是函數(shù)對象
14.8.2 標(biāo)準(zhǔn)庫定義的函數(shù)對象
14.8.3 可調(diào)用對象與function
14.9 重載、類型轉(zhuǎn)換與運(yùn)算符
14.9.1 類型轉(zhuǎn)換運(yùn)算符
14.9.2 避免有二義性的類型轉(zhuǎn)換
14.9.3 函數(shù)匹配與重載運(yùn)算符
小結(jié)
術(shù)語表
第15章 面向?qū)ο蟪绦蛟O(shè)計
15.1 OOP:概述
15.2 定義基類和派生類
15.2.1 定義基類
15.2.2 定義派生類
15.2.3 類型轉(zhuǎn)換與繼承
15.3 虛函數(shù)
15.4 抽象基類
15.5 訪問控制與繼承
15.6 繼承中的類作用域
15.7 構(gòu)造函數(shù)與拷貝控制
15.7.1 虛析構(gòu)函數(shù)
15.7.2 合成拷貝控制與繼承
15.7.3 派生類的拷貝控制成員
15.7.4 繼承的構(gòu)造函數(shù)
15.8 容器與繼承
15.8.1 編寫B(tài)asket類
15.9 文本查詢程序再探
15.9.1 面向?qū)ο蟮慕鉀Q方案
15.9.2 Query_base類和Query類
15.9.3 派生類
15.9.4 eval函數(shù)
小結(jié)
術(shù)語表
第16章 模板與泛型編程
16.1 定義模板
16.1.1 函數(shù)模板
16.1.2 類模板
16.1.3 模板參數(shù)
16.1.4 成員模板
16.1.5 控制實(shí)例化
16.1.6 效率與靈活性
16.2 模板實(shí)參推斷
16.2.1 類型轉(zhuǎn)換與模板類型參數(shù)
16.2.2 函數(shù)模板顯式實(shí)參
16.2.3 尾置返回類型與類型轉(zhuǎn)換
16.2.4 函數(shù)指針和實(shí)參推斷
16.2.5 模板實(shí)參推斷和引用
16.2.6 理解std::move
16.2.7 轉(zhuǎn)發(fā)
16.3 重載與模板
16.4 可變參數(shù)模板
16.4.1 編寫可變參數(shù)函數(shù)模板
16.4.2 包擴(kuò)展
16.4.3 轉(zhuǎn)發(fā)參數(shù)包
16.5 模板特例化
小結(jié)
術(shù)語表
第Ⅳ部分 高級主題
第17章 標(biāo)準(zhǔn)庫特殊設(shè)施
17.1 tuple類型
17.1.1 定義和初始化tuple
17.1.2 使用tuple返回多個值
17.2 BITSET類型
17.2.1 定義和初始化bitset
17.2.2 bitset操作
17.3 正則表達(dá)式
17.3.1 使用正則表達(dá)式庫
17.3.2 匹配與Regex迭代器類型
17.3.3 使用子表達(dá)式
17.3.4 使用regex_replace
17.4 隨機(jī)數(shù)
17.4.2 其他隨機(jī)數(shù)分布
bernoulli_distribution類
17.5 IO庫再探
17.5.1 格式化輸入與輸出
17.5.2 未格式化的輸入/輸出操作
17.5.3 流隨機(jī)訪問
小結(jié)
術(shù)語表
第18章 用于大型程序的工具
18.1 異常處理
18.1.1 拋出異常
18.1.2 捕獲異常
18.1.3 函數(shù)try語句塊與構(gòu)造函數(shù)
18.1.4 noexcept異常說明
18.1.5 異常類層次
18.2 命名空間
18.2.1 命名空間定義
18.2.2 使用命名空間成員
18.2.3 類、命名空間與作用域
18.2.4 重載與命名空間
18.3 多重繼承與虛繼承
18.3.1 多重繼承
18.3.2 類型轉(zhuǎn)換與多個基類
18.3.3 多重繼承下的類作用域
18.3.4 虛繼承
18.3.5 構(gòu)造函數(shù)與虛繼承
小結(jié)
術(shù)語表
第19章 特殊工具與技術(shù)
19.1 控制內(nèi)存分配
19.1.1 重載new和delete
19.1.2 定位new表達(dá)式
19.2 運(yùn)行時類型識別
19.2.1 dynamic_cast運(yùn)算符
19.2.2 typeid運(yùn)算符
19.2.3 使用RTTI
19.2.4 type_info類
19.3 枚舉類型
19.4 類成員指針
19.4.1 數(shù)據(jù)成員指針
19.4.2 成員函數(shù)指針
19.4.3 將成員函數(shù)用作可調(diào)用對象
19.5 嵌套類
19.6 union:一種節(jié)省空間的類
19.7 局部類
19.8 固有的不可移植的特性
19.8.1 位域
19.8.2 volatile限定符
19.8.3 鏈接指示:extern "C"
小結(jié)
術(shù)語表
附錄A 標(biāo)準(zhǔn)庫
A.1 標(biāo)準(zhǔn)庫名字和頭文件
A.2 算法概覽
A.2.1 查找對象的算法
A.2.2 其他只讀算法
A.2.3 二分搜索算法
A.2.4 寫容器元素的算法
A.2.5 劃分與排序算法
A.2.6 通用重排操作
A.2.7 排列算法
A.2.8 有序序列的集合算法
A.2.9 最小值和最大值
A.2.10 數(shù)值算法
A.3 隨機(jī)數(shù)
A.3.1 隨機(jī)數(shù)分布
A.3.2 隨機(jī)數(shù)引擎
C++11的新特性
2.1.1 long long類型
2.2.1 列表初始化
2.3.2 nullptr常量
2.4.4 constexpr變量
2.5.1 類型別名聲明
2.5.2 auto類型指示符
2.5.3 decltype類型指示符
2.6.1 類內(nèi)初始化
3.2.2 使用auto或decltype縮寫類型
3.2.3 范圍for語句
3.3 定義vector對象的vector(向量的向量)
3.3.1 vector對象的列表初始化
3.4.1 容器的cbegin和cend函數(shù)
3.5.3 標(biāo)準(zhǔn)庫begin和end函數(shù)
3.6 使用auto和decltype簡化聲明
4.2 除法的舍入規(guī)則
4.4 用大括號包圍的值列表賦值
4.9 將sizeof用于類成員
5.4.3 范圍for語句
6.2.6 標(biāo)準(zhǔn)庫initializer_list類
6.3.2 列表初始化返回值
6.3.3 定義尾置返回類型
6.3.3 使用decltype簡化返回類型定義
6.5.2 constexpr函數(shù)
7.1.4 使用=default生成默認(rèn)構(gòu)造函數(shù)
7.3.1 類對象成員的類內(nèi)初始化
7.5.2 委托構(gòu)造函數(shù)
7.5.6 constexpr構(gòu)造函數(shù)
8.2.1 用string對象處理文件名
9.1 array和forward_list容器
9.2.3 容器的cbegin和cend函數(shù)
9.2.4 容器的列表初始化
9.2.5 容器的非成員函數(shù)swap
9.3.1 容器insert成員的返回類型
9.3.1 容器的emplace成員的返回類型
9.4 shrink_to_fit
9.5.5 string的數(shù)值轉(zhuǎn)換函數(shù)
10.3.2 Lambda表達(dá)式
10.3.3 Lambda表達(dá)式中的尾置返回類型
10.3.4 標(biāo)準(zhǔn)庫bind函數(shù)
11.2.1 關(guān)聯(lián)容器的列表初始化
11.2.3 列表初始化pair的返回類型
11.3.2 pair的列表初始化
11.4 無序容器
12.1 智能指針
12.1.1 shared_ptr類
12.1.2 動態(tài)分配對象的列表初始化
12.1.2 auto和動態(tài)分配
12.1.5 unique_ptr類
12.1.6 weak_ptr類
12.2.1 范圍for語句不能應(yīng)用于動態(tài)分配數(shù)組
12.2.1 動態(tài)分配數(shù)組的列表初始化
12.2.1 auto不能用于分配數(shù)組
12.2.2 allocator::construct可使用任意構(gòu)造函數(shù)
13.1.5 將=default用于拷貝控制成員
13.1.6 使用=default阻止拷貝類對象
13.5 用移動類對象代替拷貝類對象
13.6.1 右值引用
13.6.1 標(biāo)準(zhǔn)庫move函數(shù)
13.6.2 移動構(gòu)造函數(shù)和移動賦值
13.6.2 移動構(gòu)造函數(shù)通常應(yīng)該是noexcept
13.6.2 移動迭代器
13.6.3 引用限定成員函數(shù)
14.8.3 function類模板
14.9.1 explicit類型轉(zhuǎn)換運(yùn)算符
15.2.2 虛函數(shù)的override指示符
15.2.2 通過定義類為final來阻止繼承
15.3 虛函數(shù)的override和final指示符
15.7.2 刪除的拷貝控制和繼承
15.7.4 繼承的構(gòu)造函數(shù)
16.1.2 聲明模板類型形參為友元
16.1.2 模板類型別名
16.1.3 模板函數(shù)的默認(rèn)模板參數(shù)
16.1.5 實(shí)例化的顯式控制
16.2.3 模板函數(shù)與尾置返回類型
16.2.5 引用折疊規(guī)則
16.2.6 用static_cast將左值轉(zhuǎn)換為右值
16.2.7 標(biāo)準(zhǔn)庫forward函數(shù)
16.4 可變參數(shù)模板
16.4 sizeof...運(yùn)算符
16.4.3 可變參數(shù)模板與轉(zhuǎn)發(fā)
17.1 標(biāo)準(zhǔn)庫Tuple類模板
17.2.2 新的bitset運(yùn)算
17.3 正則表達(dá)式庫
17.4 隨機(jī)數(shù)庫
17.5.1 浮點(diǎn)數(shù)格式控制
18.1.4 noexcept異常指示符
18.1.4 noexcept運(yùn)算符
18.2.1 內(nèi)聯(lián)名字空間
18.3.1 繼承的構(gòu)造函數(shù)和多重繼承
19.3 有作用域的enum
19.3 說明類型用于保存enum對象
19.3 enum的提前聲明
19.4.3 標(biāo)準(zhǔn)庫mem_fn類模板
19.6 類類型的聯(lián)合成員