《C++語言導學(英文版·第2版)》是2019年機械工業出版社出版的圖書,作者是[美]本賈尼·史特勞斯特魯普(Bjarne Stroustrup)。
基本介紹
- 中文名:C++語言導學(英文版·第2版)
- 作者:[美]本賈尼·史特勞斯特魯普(Bjarne Stroustrup)
- ISBN:9787111615644
- 定價:79元
- 出版社:機械工業出版社
- 出版時間:2019年1月
- 開本:16開
內容簡介,圖書目錄,
內容簡介
在這本中,作者把C++完整參考手冊中的綜述內容摘取出來,並且進行必要的擴充和提升,目的是讓有經驗的程式設計師在很短時間之內就能清晰地了解到是哪些元素構成了現代的C++語言。本書雖薄,結構卻清晰完整,作者在書中介紹了C++語言的絕大多數特性以及*重要的一些標準庫組件。尤其難能可貴的是,雖然受篇幅所限無法對每個知識點展開深入講解,但依然能夠幫助程式設計師了解語言的全貌,並給出一些關鍵示例,便於他們更好地學習和使用C++語言。
圖書目錄
第1章 基礎知識 1
1.1 引言 1
1.2 程式 2
1.3 函式 4
1.4 類型、變數和算術運算 5
1.5 作用域和生命周期 9
1.6 常量 9
1.7 指針、數組和引用 11
1.8 測試 14
1.9 映射到硬體 16
1.10 建議 18
第2章 用戶自定義類型 21
2.1 引言 21
2.2 結構 22
2.3 類 23
2.4 聯合 25
2.5 枚舉 26
2.6 建議 27
第3章 模組化 29
3.1 引言 29
3.2 分別編譯 30
3.3 模組(C++20) 32
3.4 名字空間 34
3.5 錯誤處理 35
3.6 函式參數和返回值 36
3.7 建議 46
第4章 類 47
4.1 引言 47
4.2 具體類型 48
4.3 抽象類型 54
4.4 虛函式 …56
4.5 類層次 …57
4.6 建議 63
第5章 基本操作 65
5.1 引言 65
5.2 拷貝和移動 68
5.3 資源管理 72
5.4 常規操作 74
5.5 建議 77
第6章 模板 79
6.1 引言 79
6.2 參數化類型 79
6.3 參數化操作 84
6.4 模板機制 89
6.5 建議 92
第7章 概念與泛型編程 93
7.1 引言 93
7.2 概念 94
7.3 泛型編程 98
7.4 可變參數模板 100
7.5 模板編譯模式 104
7.6 建議 104
第8章 標準庫概覽 107
8.1 介紹 107
8.2 標準庫組件 108
8.3 標準庫頭檔案和名字空間 109
8.4 建議 110
第9章 字元串和正則表達式 111
9.1 介紹 111
9.2 字元串 111
9.3 字元串視圖 114
9.4 正則表達式 116
9.5 建議 122
第10章 輸入輸出 123
10.1 介紹 123
10.2 輸出 123
10.3 輸入 125
10.4 I/O狀態 127
10.5 用戶自定義類型的I/O 128
10.6 格式化 129
10.7 檔案流 130
10.8 字元串流 130
10.9 C風格I/O 131
10.10 檔案系統 132
10.11 建議 136
第11章 容器 137
11.1 介紹 137
11.2 vector 138
11.3 list 142
11.4 map 144
11.5 unordered_map 144
11.6 容器概覽 146
11.7 建議 148
第12章 算法 149
12.1 介紹 149
12.2 使用疊代器 150
12.3 疊代器類型 153
12.4 流疊代器 154
12.5 謂詞 155
12.6 算法概覽 156
12.7 概念(C++20) 157
12.8 容器算法 160
12.9 並行算法 161
12.10 建議 161
第13章 實用工具 163
13.1 引言 163
13.2 資源管理 164
13.3 範圍檢查:span 168
13.4 特殊容器 170
13.5 替代選擇 174
13.6 分配器 178
13.7 時間 179
13.8 函式適配 180
13.9 類型函式 181
13.10 建議 185
第14章 數值 187
14.1 引言 187
14.2 數學函式 188
14.3 數值算法 189
14.4 複數 190
14.5 隨機數 191
14.6 向量算術 192
14.7 數值限制 193
14.8 建議 193
第15章 並發 195
15.1 引言 195
15.2 任務和thread 196
15.3 傳遞參數 197
15.4 返回結果 198
15.5 共享數據 199
15.6 等待事件 200
15.7 任務通信 202
15.8 建議 205
第16章 歷史和兼容性 207
16.1 歷史 207
16.2 C++特性演化 214
16.3 C/C++兼容性 218
16.4 參考文獻 222
16.5 建議 225
Contents
ContentsPreface
1The Basics1
1.1 Introduction........................................................... 1
1.2 Programs............................................................... 2
1.3 Functions............................................................... 4
1.4 Types, Variables, and Arithmetic.......................... 5
1.5 Scopeand Lifetime............................................... 9
1.6 Constants......................................... 9
1.7 Pointers,Arrays, and References.......................... 11
1.8 Tests ................................................14
1.9 Mappingto Hardware ...........................................16
1.10 Advice............................................. 18
2User-Defined ypes 21
2.1 Introduction..................................... 21
2.2 Structures........................................ 22
2.3 Classes............................................ 23
2.4 Unions................................................................... 25
2.5 Enumerations........................................................ 26
2.6 Advice................................................................... 27
3Modularity 29
3.1 Introduction........................................................... 29
3.2 SeparateCompilation ............................................30
3.3 Modules(C++20) ..................................................32
3.4 Namespaces........................................................... 34
3.5 ErrorHandling ......................................................35
3.6 FunctionArguments and Return Values .....................................36
3.7 Advice................................................................... 46
4Classes 47
4.1 Introduction........................................................... 47
4.2 ConcreteTypes ......................................................48
4.3 AbstractTypes ......................................................54
4.4 Virtual Functions................................................... 56
4.5 ClassHierarchies ..................................................57
4.7 Advice................................................................... 63
5Essential Operations65
5.1 Introduction........................................................... 65
5.2 Copyand Move ..................................................... 68
5.3 ResourceManagement ..........................................72
5.4 Conventional Operations....................................... 74
5.5 Advice................................................................... 77
6Templates 79
6.1 Introduction........................................................... 79
6.2 Parameterized Types .............................................79
6.3 Parameterized Operations..................................... 84
6.4 Template Mechanisms.......................................... 89
6.5 Advice................................................................... 92
7Concepts and Generic Programming 93
7.1 Introduction........................................................... 93
7.2 Concepts................................................................ 94
7.3 GenericProgramming ...........................................98
7.4 Variadic Templates ................................................100
7.5 Template Compilation Model............................... 104
7.6 Advice................................................................... 104
8Library Overview 107
8.1 Introduction........................................................... 107
8.2 Standard-LibraryComponents ..............................108
8.3 Standard-LibraryHeaders and Namespace................................. 109
8.4 Advice................................................................... 110
9Strings and Regular Expressions 111
9.1 Introduction........................................................... 111
9.2 Strings................................................................... 111
9.3 StringViews.......................................................... 114
9.4 Regular Expressions.............................................. 116
9.5 Advice................................................................... 122
10 Input and Output123
10.1 Introduction........................................................... 123
10.2 Output................................................................... 123
10.3 Input...................................................................... 125
10.4 I/OState ................................................................127
10.5 I/Oof User-Defined ypes ....................................128
10.6 Formatting .............................................................129
10.7 FileStreams ..........................................................130
10.8 StringStreams .......................................................130
10.9 C-styleI/O .............................................................131
10.10 FileSystem ...........................................................132
10.11 Advice................................................................... 136
11 Containers137
11.1 Introduction........................................................... 137
11.2vector..................................................... 138
11.3list............................................................... 142
11.4map................................................................. 144
11.5unordered_map...................................................... 144
11.6 ContainerOverview.............................................. 146
11.7 Advice................................................................... 148
12 Algorithms149
12.1 Introduction........................................................... 149
12.2 Useof Iterators...................................................... 150
12.3 IteratorTypes ........................................................153
12.4 StreamIterators .....................................................154
12.5 Predicates.............................................................. 155
12.6 AlgorithmOverview............................................. 156
12.7 Concepts(C++20) .................................................157
12.8 ContainerAlgorithms ...........................................160
12.9 Parallel Algorithms............................................... 161
12.10 Advice................................................................... 161
13 Utilities163
13.1 Introduction........................................................... 163
13.2 ResourceManagement ..........................................164
13.3 RangeChecking:span.......................................... 168
13.4 SpecializedContainers ..........................................170
13.5 Alternatives........................................................... 174
13.6 Allocators.............................................................. 178
13.7 Time ......................................................................179
13.8 FunctionAdaption ................................................180
13.9 Type Functions...................................................... 181
13.10 Advice................................................................... 185
14 Numerics187
14.1 Introduction........................................................... 187
14.2 MathematicalFunctions ........................................188
14.3 NumericalAlgorithms ..........................................189
14.4 ComplexNumbers ................................................190
14.5 RandomNumbers .................................................191
14.6 Vector Arithmetic.................................................. 192
14.7 NumericLimits .....................................................193
14.8 Advice................................................................... 193
15 Concurrency 195
15.1 Introduction........................................................... 195
15.2 Tasks andthreads.................................................. 196
15.3 Passing Arguments ................................................197
15.4 ReturningResults ..................................................198
15.5 SharingData ..........................................................199
15.6 Waiting for Events ................................................200
15.7 CommunicatingTasks ...........................................202
15.8 Advice................................................................... 205
16 History and Compatibility207
16.1 History.................................................................. 207
16.2 C++Feature Evolution ..........................................214
16.3 C/C++Compatibility ............................................218
16.4 Bibliography......................................................... 222
16.5 Advice................................................................... 225
Index 227