C++元編程與通用設計模式實現
宋煒
- 出版商: 清華大學
- 出版日期: 2025-03-01
- 定價: $474
- 售價: 8.5 折 $403
- 語言: 簡體中文
- ISBN: 7302679096
- ISBN-13: 9787302679097
-
相關分類:
C++ 程式語言、Design Pattern
下單後立即進貨 (約4週~6週)
相關主題
商品描述
目錄大綱
目錄
第1章設計模式簡介1
1.1設計模式和設計模式的分類1
1.2各種設計模式的特點和適用場景2
1.2.1創建型設計模式2
1.2.2結構型設計模式3
1.2.3行為型設計模式4
1.3本章小結6
第2章C++和C++元編程基礎知識8
2.1C++開發環境的準備9
2.1.1安裝MSYS2環境10
2.1.2安裝編輯器12
2.1.3安裝集成開發環境18
2.2C++基礎預備知識21
2.2.1C++語言的基本語法22
2.2.2C++語言面向對象編程23
2.2.3接口和實現28
2.3C++元編程基礎知識29
2.3.1C++函數模板31
2.3.2C++類模板32
2.3.3模板參數34
2.4本章小結34
第3章C++程序的調試和測試36
3.1C++程序的調試36
3.2C++單元測試37
3.3C++性能測試38
3.4元代碼的調試38
3.5本章小結39
第4章C++11和現代C++開發40
4.1C++11的特性40
4.1.1關鍵字mutable40
4.1.2右值引用42
4.1.3引用折疊43
4.1.4萬能引用44
4.1.5Lambda表達式45
4.1.6新的for語句47
4.1.7constexpr關鍵字48
4.1.8類型推導48
4.1.9可變模板參數49
4.1.10字符串的字面量50
4.1.11移動語義51
4.1.12static_assert51
4.2本書中用到的STL類型52
4.2.1智能指針52
4.2.2線程和線程同步60
4.2.3類型萃取type_traits64
4.2.4元組類型std::tuple65
4.2.5std::function函數對象和std::bind綁定器67
4.2.6std::hash68
4.2.7std::map和std::unordered_map68
4.3本書中用到的數據結構和算法70
4.3.1萬能數據類型variant70
4.3.2使switchcase支持字符串76
4.3.3線程池78
4.4本章小結83
第5章創建型模式84
5.1工廠模式及其實現84
5.1.1工廠模式的傳統結構84
5.1.2使用C++11實現工廠模式的結構85
5.1.3工廠模式的實現和解析86
5.1.4應用示例89
5.2抽象工廠模式及其實現90
5.2.1抽象工廠模式的傳統結構91
5.2.2使用C++11實現抽象工廠模式的結構91
5.2.3工廠模式的實現和解析92
5.2.4應用示例97
5.3單例模式及其實現100
5.3.1單例模式傳統結構101
5.3.2C++11模板實現的單例模式結構101
5.3.3實現和解析101
5.3.4應用示例104
5.4生成器模式及其實現105
5.4.1傳統結構106
5.4.2C++11的模板實現結構107
5.4.3實現和解析107
5.4.4應用示例111
5.5原型模式及其實現113
5.5.1傳統原型模式113
5.5.2C++11模板實現的原型模式114
5.5.3實現和解析115
5.5.4應用示例117
5.6本章小結118
第6章結構型模式120
6.1適配器模式及其實現120
6.1.1傳統適配器模式121
6.1.2C++11元編程下的結構設計121
6.1.3實現和解析122
6.1.4應用示例125
6.2橋接模式及其實現128
6.2.1傳統橋接模式128
6.2.2C++11元編程下的結構設計128
6.2.3實現和解析129
6.2.4應用示例132
6.3組合模式及其實現134
6.3.1傳統組合模式134
6.3.2C++11元編程下的結構設計135
6.3.3實現和解析135
6.3.4應用示例139
6.4裝飾器模式及其實現141
6.4.1傳統裝飾器模式141
6.4.2C++11元編程下的結構設計142
6.4.3實現和解析142
6.4.4應用示例147
6.5外觀模式及其實現150
6.5.1傳統外觀模式150
6.5.2C++11元編程下的結構設計151
6.5.3實現和解析152
6.5.4應用示例156
6.6享元模式及其實現160
6.6.1傳統享元模式160
6.6.2C++11元編程下的結構設計161
6.6.3實現和解析162
6.6.4應用示例167
6.7代理模式及其實現169
6.7.1傳統代理模式170
6.7.2C++11元編程下的結構設計170
6.7.3實現和解析170
6.7.4應用示例174
6.8本章小結178
第7章行為型模式180
7.1責任鏈模式及其實現180
7.1.1傳統責任鏈模式181
7.1.2C++11元編程下的結構設計181
7.1.3實現和解析182
7.1.4應用示例185
7.2命令模式及其實現187
7.2.1傳統命令模式188
7.2.2C++11元編程下的結構設計188
7.2.3實現和解析189
7.2.4應用示例196
7.3解釋器模式及其實現198
7.3.1傳統解釋器模式199
7.3.2C++11元編程下的結構設計200
7.3.3實現和解析200
7.3.4應用示例203
7.4迭代器模式及其實現205
7.5中介者模式及其實現207
7.5.1傳統中介者模式208
7.5.2C++11元編程下的結構設計208
7.5.3實現和解析209
7.5.4應用示例217
7.6備忘錄模式及其實現219
7.6.1傳統備忘錄模式219
7.6.2C++11元編程下的結構設計219
7.6.3實現和解析219
7.6.4應用示例222
7.7觀察者模式及其實現223
7.7.1傳統觀察者模式223
7.7.2C++11元編程下的結構設計224
7.7.3實現和解析225
7.7.4應用示例228
7.8策略模式及其實現229
7.8.1傳統策略模式230
7.8.2C++11元編程下的結構設計230
7.8.3實現和解析231
7.8.4應用示例233
7.9狀態模式及其實現235
7.9.1傳統狀態模式235
7.9.2C++11元編程下的結構設計236
7.9.3實現和解析236
7.9.4應用示例244
7.10模板方法模式及其實現250
7.11訪問者模式及其實現250
7.11.1傳統訪問者模式250
7.11.2C++11元編程下的訪問者模式251
7.11.3實現和解析251
7.11.4應用示例254
7.12本章小結255
第8章框架應用實戰256
8.1DTU軟件的設計問題256
8.2DTU軟件的AT指令257
8.3通信通道和通道轉發260
8.4數據加密解密261
8.5命令行參數的解析262
8.6配置文件263
8.7自定義腳本266
8.8本章小結267
後記268