●第1章 C++編程環境介紹
1.1 C++編程環境搭建說明
1.2 創建最基本的能運行的C++程序
1.3 Visual Studio中程序的調試方法
1.3.1 普通的斷點調試(跟蹤調試)
1.3.2 學會調試時查看內存中的內容
1.3.3 “快速監視”對話框
1.3.4 查看“反彙編”窗口
1.4 開啟Visual Studio 2019對C++近期新標準的編譯支持
第2章 模板基礎知識
2.1 函數模板
2.1.1 基本範例
2.1.2 實例化
2.1.3 模板參數的推斷
2.1.4 重載
2.1.5 特化
2.1.6 默認參數
2.1.7 非類型模板參數
2.2 類模板、變量模板與別名模板
2.2.1 類模板的基本範例和模板參數的推斷
2.2.2 類模板的特化
2.2.3 默認參數
2.2.4 類型別名
2.2.5 非類型模板參數
2.2.6 成員函數模板
2.2.7 類/類模板中的類模板(類模板的嵌套)
2.2.8 變量模板與成員變量模板
2.2.9 別名模板與成員別名模板
2.2.10 模板模板參數
2.2.11 共用體模板(聯合模板)
2.3 類模板
2.3.類
2.3.函數
2.4 可變參模板
2.4.1 可變參函數模板
2.4.2 折疊表達式
2.4.3 可變參表達式
2.4.4 可變參類模板
2.5 多態在模板中的應用
2.6 模板的特殊繼承關繫
2.6.1 奇異(奇特)的遞歸模板模式
2.6.2 混入
2.7 模板代碼的組織結構與模板的顯式實例化和聲明
2.7.1 模板代碼的組織結構
2.7.2 模板的顯式實例化、模板聲明、代碼組織結構
第3章 模板進階知識
3.1 萬能引用
3.1.1 類型區別的基本含義
3.1.2 基本認識
3.1.3 萬能引用資格的剝奪與辨認
3.2 類型推斷
3.2.1 如何查看類型推斷結果
3.2.2 理解函數模板類型推斷
3.2.3 auto類型常規推斷
3.3 完美轉發
3.3.1 完美轉發的概念和步驟演繹
3.3.2 std::forward
3.3.3 普通參數的完美轉發
3.3.4 在構造函數模板中使用完美轉發範例
3.3.5 在可變參數模板中使用完美轉發範例
3.3.6 完美轉發失敗的情形一例
3.4 std::enable if的使用
3.4.1 一個簡單範例
3.4.2 替換失敗並不是一個錯誤(SFINAE)
3.4.3 enable if
3.5 類模板中可變參的逐步展開
3.5.1 myclasst繼承
3.5.2 myclasst...繼承
3.5.3 myclasst...繼承
3.5.4 myclasst...繼承
第4章 標準庫的典型內容
4.1 std::declval
4.1.1 基本概念和常規範例
4.1.2 std::declval返回右值引用類型的原因
4.1.3 推導函數返回值範例
4.2 std::true_type和std.:false_type
4.3 std::void t
4.3.1 源碼分析和常規範例
4.3.2 編譯器如何選擇泛化版本和特化版本
4.3.3 借助void_t和declval實現is_copy_assignable
4.3.4 綜合範例
4.4 std::conditional
4.5 std::function的實現
4.5.1 標準庫中的std::function
4.5.2 實現類似std::function的功能
4.6 std::remove_all_extents
4.7 std::integer_sequence
4.7.1 正向排列數字生成一個類型Integer_Sequence
4.7.2 逆向排列數字生成一個類型Integer_Sequence_Reverse
4.7.3 將一個數字重復多次生成一個類型Repeat_Integer
4.8 std::is_union、std::is_class和std::integral_constant
4.8.1 std::is_union
4.8.2 std::is_class
4.8.3 std::integral_constant
第5章 萃取技術與策略技術
5.1 萃取技術及固定萃取演示
5.1.1 一個常規範例
5.1.2 迭代器範例
5.1.3 通過容器(數組)類素類型範例
5.1.4 引用類型的移除和增加
5.1.5 const修飾符的移除
5.1.6 退化技術
5.2 萃取技術中的值萃取演示
5.2.1 一個常規範例
5.2.2 判斷是否為void類型的範例
5.2.3 判斷兩個類型是否相同
5.3 使用SFINAE特性的信息萃取
5.3.1 用成員函數重載實現is_default_constructible
5.3.2 用成員函數重載實現is_convertible
5.3.3 用成員函數重載實現is_class
5.3.4 用成員函數重載實現is_base_of
5.3.5 用類模板特化實現is_default_constructible
5.4 將trait類模板用作模板參數
5.5 策略技術中的算法策略
5.5.1 常規範例:普通策略類
5.5.2 常規範例:策略類模板
5.5.3 萃取技術與策略技術的比較
第編程
6.1 函數
6.1.1 術語
6.1函數
6.2編程
6.2.1 常規的計算點積範例
6.2.2編程計算點積
6.3 typelist實現(類型計算範例)
6.3.1 設計和基本操作接口(算法)
……