培训大纲 / Syllabus
11月15-16日,周三-周四,09:00-17:00
第一讲:Modern C++ 之语言新面貌
-
1-1. 演进、开发环境、重要读本、网络资源
-
1-2. Variadic Templates (这是Modern C++ 最重要的新特性,几乎全面改变了标准库写法)
-
1-3. Spaces in Template Expression、nullptr and std::nullptr_t、Automatic TypeDeduction with auto(上述三者之中最具实用价值的是 auto,能够为编写代码带来极大方便)
-
1-4. Unifrom Initialization (初始化的作法终于有了统一。)
-
1-5. Initializer_list (大幅改变标准库容器的初值设定方式;亦值得你直接使用它创建一个数据集)
-
1-6. Explicit for ctors taking more thanone argument
-
1-7. Range based for statement (一个很方便的 loop 写法)
-
1-8. =default, =delete (允许你 "使用默认的 Big-Three函数" 或 "放弃默认的Big-Three函数")
-
1-9. Alias Template (又称为 template typedef)
-
1-10. Template template parameters (通过深入浅出的解释让你彻底了解这一模板高级用法)
-
1-11. Type Alias
-
1-12. using, noexcept, override, final,declval, decltype
-
1-13. lambdas (一种比 function objects/functors 更便利的写法,其怪异的语法乍见之下令人困惑与愕然)
-
1-14. Variadic Templates (再次学习这颗 Modern C++ 重磅炸弹,以多个示例带您一窥堂奥)
第二讲:Modern C++ 之标准库新部件
-
2-1. 标准库源代码分布 (如果有心查看标准库源代码,这是第一步)
-
2-2. Rvalue references and Move Semantics (Modern C++最重要的新特性之一) (如何写出move-aware class,其对容器效能的影响)
-
2-3.Perfect Forwarding (perfectforwarding vs. imperfect forwarding; std::forward()的意义与用法)
-
2-4. 写出一个move-awareclass
-
2-5. Move-aware class对容器的效能测试
-
2-6. 容器概论(所有容器的内核结构, 所有容器的新旧版本 classes 结构比较)
-
2-7. 新容器array的内核结构及现实用途
-
2-8. 新容器forward_list的内核结构及现实用途
-
2-9. 新容器unordered-的内核结构及现实用途
-
2-10. Hash Functions (这是使用unordered- 容器的最大罩门;本节观察string之hash function)
-
2-11. 万用的HashFunctions (介绍源自 Boost 的一种万用型hash function写法)
-
2-12. tuple (一种异质容器,允许 objects of any types 被组合到一起。实现手法令人拍案叫绝)
-
2-13. shared_pointer (最被广泛使用的智能指针,介绍其用法及其内核结构)
-
2-14. Type traits (示范如何使用神奇的 type traits 查知 types 的诸多特性)
-
2-15. 标准库其他部件简介