深度學習C++

吳曉梅

  • 深度學習C++-preview-1
深度學習C++-preview-1

相關主題

商品描述

全書共分為四部分,
第一部分( ~4章)是基本內容,包括了創建C++程序的基本工具和技術、
分支和循環等流程控制語句、內置數據類型和它們的基本屬性、C++的各種運算符及其應用,
第二部分(第5~8章)是指針和動態內存的內容,包括了指針和引用、動態變量、動態變量所有權和生命期、類和結構等,
第三部分(第9~10章)是面向對象的程序設計內容,包括了類的設計、抽象與封裝、繼承和多態性等,
第四部分(第11~13章)是較深的內容,包括了模板、容器和迭代器、異常處理。
本書內容豐富,結構清晰,在知識講解的基礎上,提供了大量的例題和習題,
使讀者通過學習概念以及訓練和實踐,掌握程序設計的方法和過程,並具備良好的程序設計風格。
本書可作為高等院校計算機專業的教材,也可供從事計算機軟件開發的科研人員學習參考。

 

目錄大綱

第1章您的第一個C++程序1
1.1C++使用的優勢1
1.2Hello World!1
1.3C++的構建流程4
1.4C++關鍵字5
1.5預處理指令7
1.5.1include7
1.5.2宏指令8
1.5.3條件編譯9
1.6輸入/輸出(I/O)語句12
1.7函數16
1.7.1傳遞參數17
1.7.2重載和默認參數19
1.8測試:編寫個人信息登記應用程序22
1.9總結23
第2章控制流程24
2.1簡介24
2.2ifelse語句25
2.3switchcase語句29
2.4循環語句32
2.4.1循環簡介32
2.4.2while循環32
2.4.3dowhile循環34
2.4.4for循環37
2.4.5基於範圍的for循環38
2.5break/continue語句41
2.5.1break語句41
2.5.2continue語句43
2.6測試:使用循環和條件語句創建數字猜謎遊戲46
2.7總結47
第3章內置數據類型48
3.1簡介48
3.2數據類型修飾符49
3.3內置數據類型49
3.4數組50
3.4.1數組的初始化51
3.4.2訪問數組中的元素53
3.4.3數組的內存54
3.4.4多維數組56
3.5向量58
3.5.1訪問向量中的元素58
3.5.2初始化和修改向量中的元素60
3.6類和結構62
3.6.1類62
3.6.2結構63
3.6.3訪問修飾符64
3.7構造函數/析構函數66
3.8測試:編寫註冊應用程序69
3.9總結71
目錄深度學習C++第4章C++的運算符72
4.1簡介72
4.2算術運算符73
4.3關係運算符76
4.3.1相等運算符77
4.3.2比較運算符78
4.4一元運算符81
4.4.1負號(-)運算符81
4.4.2遞增(++)和遞減(--)運算符82
4.5賦值運算符83
4.6邏輯運算符85
4.7運算符重載87
4.8位運算符89
4.9測試:Fizz Buzz91
4.10小結92
第5章指針和引用94
5.1簡介94
5.2內存地址95
5.2.1指針95
5.2.2指向數組的指針98
5.2.3指針的算術運算99
5.2.4指向指針103
5.3引用105
5.4指針和引用作為函數參數107
5.5指向類或結構的指針109
5.6引用作為函數的參數111
5.7測試:使用指針和引用進行字符串數組的操作114
5.8小結114
第6章動態變量115
6.1簡介115
6.2動態變量116
6.3動態數組121
6.4動態變量的7個問題123
6.4.1問題1:在創建動態變量之前,使用指向動態變量的指針123
6.4.2問題2:刪除一個動態變量之後,再使用動態變量125
6.4.3問題3:創建了一個動態變量,但忘記刪除126
6.4.4問題4:覆蓋一個指向動態變量的指針126
6.4.5問題5:多次刪除一個動態變量128
6.4.6問題6:以delete,而不是delete\[\]刪除一個動態數組129
6.4.7問題7:以delete\[\],而不是delete刪除一個動態變量130
6.5動態容器131
6.5.1鍊錶131
6.5.2二叉搜索樹132
6.6遞歸數據結構133
6.6.1在一個遞歸數據結構中訪問項133
6.6.2查找項134
6.6.3添加項135
6.6.4刪除動態項136
6.7測試:創建類實例的二叉搜索樹143
6.8小結144
第7章動態變量所有權和生命週期145
7.1簡介145
7.2資源獲取初始化(RAII)146
7.3管理數據結構中動態變量149
7.4智能指針154
7.4.1unique_ptr﹤﹥154
7.4.2make_unique()157
7.4.3unique_ptr﹤﹥作為一個類成員變量158
7.4.4函數參數和返回值中的unique_ptr﹤﹥160
7.4動態變量的共享所有權161
7.5make_shared()164
7.6測試:使用動態變量存儲一本書的單詞166
7.7小結167
第8章類與結構168
8.1簡介168
8.2類與結構168
8.3聯合169
8.4構造函數171
8.4.1默認構造函數171
8.4.2參數化構造函數173
8.4.3複製構造函數175
8.5淺複製或深複製176
8.6賦值運算符183
8.7析構函數186
8.8測試:創建一個視頻剪輯(VideoClip)類186
8.9小結187
第9章面向對象的原理188
9.1簡介188
9.2類與面向對象的程序設計(OOP)188
9.2.1單一責任原則190
9.2.2封裝192
9.2.3Getters和Setters196
9.3返回值或引用202
9.3.1返回值202
9.3.2返回引用202
9.4常量205
9.4.1返回const引用205
9.4.2const函數206
9.5抽象207
9.6測試:一個基本的RPG作戰系統211
9.7小結212
第10章面向對象的高級原則213
10.1簡介213
10.2繼承214
10.2.1單一繼承214
10.2.2多重繼承217
10.2.3訪問修飾符與繼承221
10.3虛擬函數223
10.4純虛擬函數/抽像類225
10.5多態性227
10.6類型轉換230
10.6.1靜態強制轉換231
10.6.2動態強制轉換232
10.6.3C類型的強制轉換232
10.7測試:編寫百科全書應用程序234
10.8小結235
第11章模板237
11.1簡介237
11.2創建模板的語法237
11.2.1模板類238
11.2.2多個模板參數240
11.2.3模板函數241
11.2.4模板的專門化245
11.2.5創建模板的注意事項246
11.3隊列249
11.3.1隊列簡介249
11.3.2在隊列中實現構造函數和析構函數251
11.3.3動態內存253
11.3.4調整內存大小256
11.3.5壓入和彈出256
11.3.6測試257
11.4測試:創建一個通用的堆棧259
11.5小結260
第12章容器和迭代器261
12.1簡介261
12.2字符串261
12.2.1字符串構造函數262
12.2.2為字符串賦值263
12.2.3字符串相關操作264
12.3迭代器266
12.4向量269
12.4.1向量構造函數269
12.4.2向量的賦值270
12.4.3向量相關操作273
12.4.4搜索向量273
12.5映射/無序映射278
12.5.1構造映射和無序映射278
12.5.2映射和無序映射的操作279
12.6集合/多集合283
12.6.1構造函數284
12.6.2集合的操作286
12.7隊列/堆棧287
12.8測試:將RPG戰斗轉換為使用標準庫容器288
12.9小結289
第13章C++中的異常處理290
13.1簡介290
13.2應對突發(或意外)事件291
13.3拋出異常291
13.4未捕獲的異常292
13.5捕獲異常295
13.6展開堆棧299
13.7資源獲取初始化(RAII)和異常處理300
13.8測試:處理異常303
13.9小結304
附錄測試參考答案306
第1章您的第一個C++程序306
測試:編寫個人信息登記應用程序——參考答案306
第2章控制流程308
測試:使用循環和條件語句創建數字猜謎遊戲——參考答案308
第3章內置數據類型310
測試:編寫註冊應用程序——參考答案310
第4章C++的運算符314
測試:Fizz Buzz——參考答案314
第5章指針和引用316
測試:使用指針和引用進行字符串數組的操作——參考答案316
第6章動態變量319
測試:創建類實例的二叉搜索樹——參考答案319
第7章動態變量所有權和生命週期322
測試:使用動態變量存儲一本書的單詞——參考答案322
第8章類與結構329
測試:創建一個視頻剪輯(VideoClip)類——參考答案329
第9章面向對象的原理338
測試:一個基本的RPG作戰系統——參考答案338
第10章面向對象的高級原則349
測試:編寫百科全書應用程序——參考答案349
第11章模板353
測試:創建一個通用的堆棧——參考答案353
第12章容器和迭代器356
測試:將RPG戰斗轉換為使用標準庫容器——參考答案356
第13章C++中的異常處理363
測試:處理異常——參考答案363