《C++進階心法》是由北京航空航天大學出版社於2019年出版,作者呂呂、王琥。
內容簡介,作者簡介,書籍目錄,
內容簡介
本書集C/C++基礎與進階語法知識點、C++0x新標準、編碼規範與建議等多方面內容於一體,力求讀者在學習C++時,能夠對C++語法、C++0x新標準與編程碼規範有深入的理解和全面的掌握。本書參考了眾多優秀著作和經典網路博文,結合自身工程實踐經驗,以言簡意賅的語言概括了學習C++必知必會的知識點。內容較為廣泛,但主要篇幅仍然是圍繞C++展開,為了幫助讀者更好地理解晦澀難懂的語法知識,書中融入了大量實例以佐證理論的說明。總體而言,對C++的介紹,內容的寬度和深度都會略高於基礎教材,偏於實踐,能夠幫助初學者進一步地掌握C++並將其得心應手地套用於工程實踐當中。
本書全篇分為十章,細分可分為三大部分。第一部分為第1章內容,講述了C語言的重要知識點,也是學習C++必須要掌握的基礎知識,包括關鍵字volatile、令人迷惑的數組與指針、分離編譯模式等。第二部分為第2章至第9章,講述了C++基礎與進階語法知識,包括基礎的數據類型、引用、名字空間、左值與右值等相關概念與基本用法,實現高效安全編碼必須要掌握的記憶體管理,面向對象的封裝、繼承與多態,以及程式異常處理和C++0x新標準等內容。書籍不局限於C++傳統語法的介紹,融入C++新的變革內容,幫助讀者對C++有一個更加全面、與時俱進的了解。第三部分為第10章內容,給出了業界常見的編碼規範與建議,供C++學習和從業人員參考,旨在幫助讀者寫出優秀的工程級代碼。
作者簡介
呂呂,碩士畢業於華南理工大學,目前任職於騰訊公司,先後從事後台策略安全與C++、Golang後台開發工作。主要研究方向有高性能計算、業務安全防護。具有多年的軟體行業從業經驗,CSDN部落格專家。
王琥,碩士畢業於華南理工大學,現為阿德萊德大學博士研究生,主要研究方向有圖像分類識別,具有多年的軟體行業從業經驗,CSDN部落格專家。
書籍目錄
第1章 C++中的C
1.1 認識volatile
1.2 數組與指針詳解
1.3 認識size_t和指針類型的大小
1.4 野指針
1.5 字元數組的初始化與賦值
1.6 文字常量與常變數
1.7 數據類型寬度擴展
1.8 分離編譯模式簡介
第2章 C++基礎
2.1 C++發展概述
2.2 聲明與定義的區別
2.3 認識初始化
2.4 結構體的初始化與賦值
2.5 認識sizeof
2.6 認識const
2.7 struct與union
2.8 多位元組字元串與寬字元串的相互轉換
2.9 引用的本質
2.10 鏈式操作
2.11 C++的數據類型
2.12 數據類型轉換
2.13 數值類型與string的相互轉換
2.14 臨時變數的常量性
2.15 左值、右值和常引用
2.16 mutable的用法
2.17 名字空間
2.18 作用域與生命周期
2.19 引用計數
2.20 I/O流簡介
2.21 頭檔案的作用和用法
第3章 記憶體管理
3.1 程式記憶體布局
3.2 堆與棧的區別
3.3 new的3種面貌
3.4 delete的3種面貌
3.5 new與delete的使用規範
3.6 智慧型指針簡介
3.7 STL的四種智慧型指針
3.8 以智慧型指針管理記憶體資源
3.9 記憶體池介紹與經典記憶體池的實現
第4章 函 數
4.1 關於 main()函式的幾點說明
4.2 函式參數入棧的思考
4.3 函式調用時堆疊的變化情況
4.4 如何禁止函式傳值調用
4.5 函式指針簡介
4.6 操作符重載
4.7 函式重載、隱藏、覆蓋和重寫的區別
4.8 inline函式
4.9 變參函式
第5章 類與對象
5.1 終結類
5.2 嵌套類與局部類
5.3 純虛函式與抽象類
5.4 臨時對象
5.5 構造函式體內賦值與初始化列表的區別
5.6 對象產生和銷毀的順序
5.7 類成員指針
5.8 控制對象的創建方式和數量
5.9 仿函式
5.10 explicit禁止構造函式的隱式調用
5.11 類的設計與實現規範
第6章 繼承與多態
6.1 多態的兩種形式
6.2 繼承與組合的區別
6.3 基類私有成員會被繼承嗎
6.4 虛擬繼承與虛基類
6.5 typeid簡介
6.6 虛調用及其調用的具體形式
6.7 動態聯編實現原理分析
6.8 接口繼承與實現繼承的區別和選擇
6.9 獲取類成員虛函式地址
6.10 構造函式與析構函式調用虛函式的注意事項
第7章 模板與泛型編程
7.1 typename的雙重含義
7.2 模板實例化與調用
7.3 模板特化與模板偏特化
7.4 函式聲明對函式模板實例化的禁止
7.5 模板與分離編譯模式
7.6 endl的本質是什麼
7.7 將模板聲明為友元
7.8 認識容器的疊代器
7.9 模板元編程簡介
第8章 C++0x初探
8.1 新關鍵字
8.2 基於範圍的for循環
8.3 就地初始化與列表初始化
8.4 Lambda表達式
8.5 移動語義與右值引用
8.6 POD類型
8.7 委託構造函式
8.8 繼承構造函式
8.9 Unicode支持
8.10 原生字元串
8.11 通用屬性
8.12 變參模板
8.13 函式模板的默認模板參數
8.14 摺疊表達式
8.15 強類型枚舉簡介
8.16 顯示類型轉換
第9章 異常處理
9.1 為什麼要引入異常處理機制
9.2 拋出異常與傳遞參數的區別
9.3 拋出和接收異常的順序
9.4 構造函式拋出異常的注意事項
9.5 析構函式禁止拋出異常
9.6 使用引用捕獲異常
9.7 棧展開如何防止記憶體泄漏
9.8 異常處理的開銷
第10章 編碼規範與建議
10.1 命名方式建議
10.2 代碼調試建議
10.3 頭檔案使用規範建議
10.4 函式使用規範建議
10.5 作用域使用規範建議 ?472
10.6 類使用規範建議
10.7 編碼格式建議
10.8 注釋風格建議
10.9 特性使用建議
參考文獻