需要支持以下内容: - 语言级 bug 与修订 + [ ] 类型系统改进 [Type Punning](https://github.com/CppCon/CppCon2017/blob/master/Presentations/Type%20Punning%20In%20C%2B%2B17%20-%20Avoiding%20Pun-defined%20Behavior/Type%20Punning%20In%20C%2B%2B17%20-%20Avoiding%20Pun-defined%20Behavior%20-%20Scott%20Schurr%20-%20CppCon%202017.pdf) + [x] 弃用和删除的功能 - register - std::auto_ptr --> std::unique_ptr - std::random_shuffle - std::bind1st, std::bind2nd, ... - 语言增强 + [x] 结构化绑定 Structured bindings + [x] 新的控制结构 `constexpr` if + [x] 编译时条件语句 Compile-time conditional statements + [ ] 新的聚合规则 + [ ] 强制性 RVO 和复制 elision, Guaranteed copy elision + [ ] Unary `static_assert` + [ ] 嵌套命名空间 Nested namespace deinitions + [ ] inline 变量 `inline` variables + [ ] `constexpr` 改进, constexpr lambda - 模板增强 + [x] 折叠表达式 Fold expressions + [x] 类模板参数推导 Class template deduction + [x] variadic templates fold + [x] `auto` non-type template parameters + [ ] ~~Preprocessor predicate for header testing~~ - 容器 + [ ] `std::string_view`, `std::byte` 加入 container 容器一章 + [x] `std::any`, `std::variant`, `std::optional` 加入 container 容器一章 + [ ] [容器改进](http://en.cppreference.com/w/cpp/container) - 线程 + [x] [thread 并行 STL 算法]( http://www.modernescpp.com/index.php/c-17-new-algorithm-of-the-standard-template-library) + [x] `std::shared_mutex`, `atomic<T>::is_always_lockfree`, `scoped_lock<Mutexes...>` - 文件系统 + [x] [文件系统库, 专门用一章来讲解](http://en.cppreference.com/w/cpp/filesystem, http://www.bfilipek.com/2017/08/cpp17-details-filesystem.html) - 数学库 + [ ] [对机器学习的影响 Math special functions](http://en.cppreference.com/w/cpp/numeric/special_math) - 其他特性 + [ ] Polymorphic allocators and memory resources + [ ] Aligned `new` + [ ] Improved insertion and splicing for associative constrainers + [ ] Boolean logic metafunctions ... - 展望 C++20 + [x] concept + [x] module + [x] coroutine + [x] Ranges
需要支持以下内容:
constexprifstatic_assertinlinevariablesconstexpr改进, constexpr lambdaautonon-type template parametersPreprocessor predicate for header testingstd::string_view,std::byte加入 container 容器一章std::any,std::variant,std::optional加入 container 容器一章std::shared_mutex,atomic<T>::is_always_lockfree,scoped_lock<Mutexes...>new...