3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
《现代C++教程》[modern-cpp-tutorial] 資料來源:      中文pdf版链接:https://changkun.de/modern-cpp/pdf/modern-cpp-tutorial-zh-cn.pdf      英文版pdf链接:https://changkun.de/modern-cpp/pdf/modern-cpp-tutorial-en-us.pdf      在线阅读链接:https://github.com/changkun/modern-cpp-tutorial/blob/master/book/en-us/toc.md      书籍代码链接:https://changkun.de/modern-cpp/code/      习题解答链接:https://changkun.de/modern-cpp/exercises/     All_code : https://github.com/changkun/modern-cpp-tutorial GITHUB: https://github.com/jash-git/modern-cpp-tutorial.git 目錄 序言7 引言 . . . . . . . . . . . . . . . . . . . . . . . . . 7 目標讀者 . . . . . . . . . . . . . . . . . . . . . . 7 本書目的 . . . . . . . . . . . . . . . . . . . . . . 7 相關代碼 . . . . . . . . . . . . . . . . . . . . . . 8 隨書習題 . . . . . . . . . . . . . . . . . . . . . . 8 第1 章邁向現代C++ 8     1.1 被棄用的特性 . . . . . . . . . . . . . . . . . . 8     1.2 與C 的相容性 . . . . . . . . . . . . . . . . . 9     進一步閱讀的參考文獻 . . . . . . . . . . . . . . . 11 第2 章語言可用性的強化12     2.1 常量 . . . . . . . . . . . . . . . . . . . . . . . 12         nullptr  . . . . . . . . . . . . . . . . . . . . . 12         constexpr  . . . . . . . . . . . . . . . . . . . 13     2.2 變數及其初始化 . . . . . . . . . . . . . . . . 15         if/switch 變數聲明強化 . . . . . . . . . . . . 15         初始化列表 . . . . . . . . . . . . . . . . . . 16         結構化綁定 . . . . . . . . . . . . . . . . . . 18     2.3 類型推導 . . . . . . . . . . . . . . . . . . . . 18         auto  . . . . . . . . . . . . . . . . . . . . . . 18         decltype  . . . . . . . . . . . . . . . . . . . . 20         尾返回類型推導 . . . . . . . . . . . . . . . . 20         decltype(auto)  . . . . . . . . . . . . . . . . 22     2.4 控制流 . . . . . . . . . . . . . . . . . . . . . . 22         if constexpr  . . . . . . . . . . . . . . . . . . 22         區間for 反覆運算 . . . . . . . . . . . . . . . . . 23     2.5 範本 . . . . . . . . . . . . . . . . . . . . . . . 24         外部範本 . . . . . . . . . . . . . . . . . . . 24         尖括弧“>”  . . . . . . . . . . . . . . . . . . 24         類型別名範本 . . . . . . . . . . . . . . . . . 25         預設範本參數 . . . . . . . . . . . . . . . . . 25         變長參數範本 . . . . . . . . . . . . . . . . . 26         折疊運算式 . . . . . . . . . . . . . . . . . . 28         非類型範本參數推導 . . . . . . . . . . . . . 28     2.6 物件導向 . . . . . . . . . . . . . . . . . . . . 29         委託構造 . . . . . . . . . . . . . . . . . . . 29         繼承構造 . . . . . . . . . . . . . . . . . . . 30         顯式虛函數重載 . . . . . . . . . . . . . . . . 30         顯式禁用預設函數 . . . . . . . . . . . . . . 31         強類型枚舉 . . . . . . . . . . . . . . . . . . 32     總結 . . . . . . . . . . . . . . . . . . . . . . . . . 33     習題 . . . . . . . . . . . . . . . . . . . . . . . . . 33 第3 章語言運行期的強化34     3.1 Lambda 運算式 . . . . . . . . . . . . . . . . . 34         基礎 . . . . . . . . . . . . . . . . . . . . . . 34         泛型Lambda  . . . . . . . . . . . . . . . . . 36     3.2 函數物件包裝器 . . . . . . . . . . . . . . . . 36         std::function  . . . . . . . . . . . . . . . . 36         std::bind 和std::placeholder  . . . . . . 37     3.3 右值引用 . . . . . . . . . . . . . . . . . . . . 38         左值、右值的純右值、將亡值、右值 . . . . 38         右值引用和左值引用 . . . . . . . . . . . . . 39         移動語義 . . . . . . . . . . . . . . . . . . . 41         完美轉發 . . . . . . . . . . . . . . . . . . . 42     總結 . . . . . . . . . . . . . . . . . . . . . . . . . 45     進一步閱讀的參考文獻 . . . . . . . . . . . . . . . 46 第4 章容器46     4.1 線性容器 . . . . . . . . . . . . . . . . . . . . 46         std::array  . . . . . . . . . . . . . . . . . . 46         std::forward_list  . . . . . . . . . . . . . 48     4.2 無序容器 . . . . . . . . . . . . . . . . . . . . 48     4.3 元組 . . . . . . . . . . . . . . . . . . . . . . . 49         元組基本操作 . . . . . . . . . . . . . . . . . 49         運行期索引 . . . . . . . . . . . . . . . . . . 51         元組合並與遍歷 . . . . . . . . . . . . . . . . 51     總結 . . . . . . . . . . . . . . . . . . . . . . . . . 52 第5 章智慧指標與記憶體管理52     5.1 RAII 與引用計數 . . . . . . . . . . . . . . . . 52     5.2 std::shared_ptr  . . . . . . . . . . . . . . . 53     5.3 std::unique_ptr  . . . . . . . . . . . . . . . 54     5.4 std::weak_ptr  . . . . . . . . . . . . . . . . . 55     總結 . . . . . . . . . . . . . . . . . . . . . . . . . 57     進一步閱讀的參考資料 . . . . . . . . . . . . . . . 57 第6 章規則運算式57     6.1 規則運算式簡介 . . . . . . . . . . . . . . . . 57         普通字元 . . . . . . . . . . . . . . . . . . . 57         特殊字元 . . . . . . . . . . . . . . . . . . . 57         限定詞 . . . . . . . . . . . . . . . . . . . . . 58     6.2 std::regex 及其相關 . . . . . . . . . . . . . . . 58     總結 . . . . . . . . . . . . . . . . . . . . . . . . . 60     習題 . . . . . . . . . . . . . . . . . . . . . . . . . 60     進一步閱讀的參考資料 . . . . . . . . . . . . . . . 62 第7 章並行與併發62     7.1 並行基礎 . . . . . . . . . . . . . . . . . . . . 62     7.2 互斥量與臨界區 . . . . . . . . . . . . . . . . 63     7.3 期物 . . . . . . . . . . . . . . . . . . . . . . . 64     7.4 條件變數 . . . . . . . . . . . . . . . . . . . . 65     7.5 原子操作與記憶體模型 . . . . . . . . . . . . . . 67         原子操作 . . . . . . . . . . . . . . . . . . . 68         一致性模型 . . . . . . . . . . . . . . . . . . 69         記憶體順序 . . . . . . . . . . . . . . . . . . . 72     總結 . . . . . . . . . . . . . . . . . . . . . . . . . 74     習題 . . . . . . . . . . . . . . . . . . . . . . . . . 74     進一步閱讀的參考資料 . . . . . . . . . . . . . . . 74 第8 章檔案系統75     8.1 文檔與連結 . . . . . . . . . . . . . . . . . . . 75     8.2 std::filesystem  . . . . . . . . . . . . . . . . . . 75 第9 章其他雜項75     9.1 新類型 . . . . . . . . . . . . . . . . . . . . . . 75         long long int  . . . . . . . . . . . . . . . . 75     9.2 noexcept 的修飾和操作 . . . . . . . . . . . . 75     9.3 字面量 . . . . . . . . . . . . . . . . . . . . . . 77         原始字串字面量 . . . . . . . . . . . . . . 77         自訂字面量 . . . . . . . . . . . . . . . . . 77     9.4 記憶體對齊 . . . . . . . . . . . . . . . . . . . . 78     總結 . . . . . . . . . . . . . . . . . . . . . . . . . 79 第10 章展望:C++20 簡介79     概念與約束 . . . . . . . . . . . . . . . . . . . . . 79     模組 . . . . . . . . . . . . . . . . . . . . . . . . . 80     合約 . . . . . . . . . . . . . . . . . . . . . . . . . 80     範圍 . . . . . . . . . . . . . . . . . . . . . . . . . 80     協程 . . . . . . . . . . . . . . . . . . . . . . . . . 80     事務記憶體 . . . . . . . . . . . . . . . . . . . . . . 80     總結 . . . . . . . . . . . . . . . . . . . . . . . . . 80     進一步閱讀的參考資料 . . . . . . . . . . . . . . . 81 附錄1:進一步閱讀的學習材料81 附錄2:現代C++ 的最佳實踐81 常用工具 . . . . . . . . . . . . . . . . . . . . . . 81 代碼風格 . . . . . . . . . . . . . . . . . . . . . . 81 整體性能 . . . . . . . . . . . . . . . . . . . . . . 81 代碼安全 . . . . . . . . . . . . . . . . . . . . . . 82 可維護性 . . . . . . . . . . . . . . . . . . . . . . 82 可攜性 . . . . . . . . . . . . . . . . . . . . . . 82

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦