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