●第1章C中的C1
1.1認識volatile1
1.2數組與指針詳解6
1.3認識size_t和指針類型的大小13
1.4野指針16
1.5字符數組的初始化與賦值18
1.6文字常量與常變量20
1.7數據類型寬度擴展22
1.8分離編譯模式簡介24
第2章C基礎28
2.1C發展概述28
2.2聲明與定義的區別29
2.3認識初始化32
2.4結構體的初始化與賦值37
2.5認識sizeof39
2.6認識const49
2.7struct與union57
2.8多字節字符串與寬字符串的相互轉換62
2.9引用的本質69
2.10鏈式操作73
2.11C的數據類型75
2.12數據類型轉換78
2.13數值類型與string的相互轉換91
2.14臨時變量的常量性94
2.15左值、右值和常引用96
2.16mutable的用法99
2.17名字空間101
2.18作用域與生命周期107
2.19引用計數112
2.20I/O流簡介119
2.21頭文件的作用和用法136
第3章內存管理141
3.1程序內存布局141
3.2堆與棧的區別143
3.3new的3種面貌155
3.4delete的3種面貌158
3.5new與delete的使用規範164
3.6智能指針簡介168
3.7STL的四種智能指針172
3.8以智能指針管理內存資源188
3.9內存池介紹與經典內存池的實現191
第4章函數199
4.1關於main()函數的幾點說明199
4.2函數參數入棧的思考202
4.3函數調用時堆棧的變化情況206
4.4如何禁止函數傳值調用210
4.5函數指針簡介213
4.6操作符重載215
4.7函數重載、隱藏、覆蓋和重寫的區別224
4.8inline函數230
4.9變參函數235
第5章類與對像241
5.1終結類241
5.2嵌套類與局部類243
5.3純虛函數與抽像類245
5.4臨時對像249
5.5構造函數體內賦值與初始化列表的區別252
5.6對像產生和銷毀的順序253
5.7類成員指針254
5.8控制對像的創建方式和數量258
5.9仿函數263
5.10explicit禁止構造函數的隱式調用267
5.11類的設計與實現規範270
第6章繼承與多態275
6.1多態的兩種形式275
6.2繼承與組合的區別278
6.3基類私有成員會被繼承嗎282
6.4虛擬繼承與虛基類285
6.5typeid簡介289
6.6虛調用及其調用的具體形式293
6.7動態聯編實現原理分析297
6.8接口繼承與實現繼承的區別和選擇306
6.9獲取類成員虛函數地址307
6.10構造函數與析構函數調用虛函數的注意事項309
第7章模板與泛型編程311
7.1typename的雙重含義311
7.2模板實例化與調用313
7.3模板特化與模板偏特化316
7.4函數聲明對函數模板實例化的屏蔽323
7.5模板與分離編譯模式324
7.6endl的本質是什麼326
7.7將模板聲330
7.8認識容器的迭代器334
7.編程簡介339
第8章C0x初探348
8.1新關鍵字348
8.2基於範圍的for循環361
8.3就地初始化與列表初始化365
8.4Lambda表達式367
8.5移動語義與右值引用373
8.6POD類型383
8.7委托構造函數388
8.8繼承構造函數390
8.9Unicode支持394
8.10原生字符串401
8.11通用屬性404
8.12變參模板407
8.13函數模板的默認模板參數417
8.14折疊表達式419
8.15強類型枚舉簡介422
8.16顯示類型轉換425
第9章異常處理427
9.1為什麼要引入異常處理機制427
9.2拋出異常與傳遞參數的區別430
9.3拋出和接收異常的順序438
9.4構造函數拋出異常的注意事項442
9.5析構函數禁止拋出異常445
9.6使用引用捕獲異常448
9.7棧展開如何防止內存洩漏451
9.8異常處理的開銷453
第10章編碼規範與建議456
10.1命名方式建議456
10.2代碼調試建議459
10.3頭文件使用規範建議463
10.4函數使用規範建議469
10.5作用域使用規範建議?472
10.6類使用規範建議476
10.7編碼格式建議485
10.8注釋風格建議494
10.9特性使用建議502
參考文獻513