C++11/14/17/20新特性

全屏查看

1 C++11新特性 #

mindmap
    id1[C++11新特性]
        id1-1[语言核心特性]
        id1-2[auto类型推导]
        id1-3[decltype类型推导]
        id1-4[范围for循环]
        id1-5[初始化列表]
        id1-6[统一的初始化语法]
        id1-7[右值引用和移动语义]
        id1-8[完美转发]
        id1-9[常量表达式constexpr]
        id1-10[nullptr空指针常量]
        id1-11[强类型枚举enum class]
        id1-12[委托构造函数]
        id1-13[继承构造函数]
        id1-14[final和override关键字]
        id1-15[默认和删除函数]
        id1-16[属性说明符]
        id1-17[用户定义字面量]
        id1-18[变长参数模板]
        id1-19[模板别名]
        id1-20[无限制联合体]
        id1-21[局部和匿名类型作为模板参数]
        id1-22[外部模板]
        id1-23[右值引用与临时对象]
        id1-24[显式转换操作符]
        id1-25[内联命名空间]
        id1-26[通用属性语法]
        id1-27[标准库增强]
        id1-28[智能指针 unique_ptr, shared_ptr, weak_ptr]
        id1-29[正则表达式库]
        id1-30[随机数库]
        id1-31[时间库chrono]
        id1-32[原子操作库]
        id1-33[线程支持库]
        id1-34[互斥锁和条件变量]
        id1-35[异步操作future/promise]
        id1-36[元组tuple]
        id1-37[函数对象包装器function]
        id1-38[绑定器bind]
        id1-39[引用包装器ref]
        id1-40[类型特征type traits]
        id1-41[哈希表unordered容器]
        id1-42[数组容器array]
        id1-43[前向列表forward_list]
        id1-44[初始化器列表initializer_list]
        id1-45[范围适配器]
        id1-46[算法增强]
        id1-47[异常处理改进]
        id1-48[字符串转换函数]
        id1-49[其他重要特性]
        id1-50[静态断言static_assert]
        id1-51[noexcept异常规范]
        id1-52[对齐控制alignas/alignof]
        id1-53[原始字符串字面量]
        id1-54[属性[[noreturn]]]
        id1-55[属性[[carries_dependency]]]
        id1-56[属性[[deprecated]]]
        id1-57[属性[[fallthrough]]]
        id1-58[属性[[nodiscard]]]
        id1-59[属性[[maybe_unused]]]
语言核心特性
auto类型推导
decltype类型推导
范围for循环
初始化列表
统一的初始化语法
右值引用和移动语义
完美转发
常量表达式constexpr
nullptr空指针常量
强类型枚举enum class
委托构造函数
继承构造函数
final和override关键字
默认和删除函数
属性说明符
用户定义字面量
变长参数模板
模板别名
无限制联合体
局部和匿名类型作为模板参数
外部模板
右值引用与临时对象
显式转换操作符
内联命名空间
通用属性语法
标准库增强
智能指针 unique_ptr, shared_ptr, weak_ptr
正则表达式库
随机数库
时间库chrono
原子操作库
线程支持库
互斥锁和条件变量
异步操作future/promise
元组tuple
函数对象包装器function
绑定器bind
引用包装器ref
类型特征type traits
哈希表unordered容器
数组容器array
前向列表forward_list
初始化器列表initializer_list
范围适配器
算法增强
异常处理改进
字符串转换函数
其他重要特性
静态断言static_assert
noexcept异常规范
对齐控制alignas/alignof
原始字符串字面量
属性[[noreturn]]
属性[[carries_dependency]]
属性[[deprecated]]
属性[[fallthrough]]
属性[[nodiscard]]
属性[[maybe_unused]]

2 C++14新特性 #

语言核心改进
泛型lambda表达式
lambda捕获表达式
返回类型推导
放宽的constexpr限制
变量模板
进制字面量
数字分隔符
带类型的枚举前置声明
聚合体的成员初始化
内存分配保证
标准库增强
make_unique函数
共享互斥锁shared_timed_mutex
标准用户定义字面量
编译时有理数算术
交换工具函数
透明运算符函数对象
元组通过类型访问
关联容器异构查找
字符串视图string_view
整数序列
其他改进
[[deprecated]]属性增强
大小端字节序检测
标准布局和普通类型特征
mindmap
    id2[C++14新特性]
        id2-1[语言核心改进]
        id2-2[泛型lambda表达式]
        id2-3[lambda捕获表达式]
        id2-4[返回类型推导]
        id2-5[放宽的constexpr限制]
        id2-6[变量模板]
        id2-7[进制字面量]
        id2-8[数字分隔符]
        id2-9[带类型的枚举前置声明]
        id2-10[聚合体的成员初始化]
        id2-11[内存分配保证]
        id2-12[标准库增强]
        id2-13[make_unique函数]
        id2-14[共享互斥锁shared_timed_mutex]
        id2-15[标准用户定义字面量]
        id2-16[编译时有理数算术]
        id2-17[交换工具函数]
        id2-18[透明运算符函数对象]
        id2-19[元组通过类型访问]
        id2-20[关联容器异构查找]
        id2-21[字符串视图string_view]
        id2-22[整数序列]
        id2-23[其他改进]
        id2-24[[[deprecated]]属性增强]
        id2-25[大小端字节序检测]
        id2-26[标准布局和普通类型特征]

3 C++17新特性 #

mindmap
    id3[C++17新特性]
        id3-1[语言核心特性]
        id3-2[结构化绑定]
        id3-3[if和switch的初始化语句]
        id3-4[内联变量]
        id3-5[折叠表达式]
        id3-6[类模板参数推导]
        id3-7[constexpr if语句]
        id3-8[模板参数推导指南]
        id3-9[嵌套命名空间定义]
        id3-10[using声明中的包展开]
        id3-11[属性命名空间不必重复]
        id3-12[新的属性[[fallthrough]]]
        id3-13[新的属性[[nodiscard]]]
        id3-14[新的属性[[maybe_unused]]]
        id3-15[进制浮点数字面量]
        id3-16[枚举的直接列表初始化]
        id3-17[聚合体的扩展初始化]
        id3-18[标准库增强]
        id3-19[文件系统库]
        id3-20[并行算法]
        id3-21[字符串视图string_view]
        id3-22[可选类型optional]
        id3-23[变体类型variant]
        id3-24[任意类型any]
        id3-25[应用tuple到函数apply]
        id3-26[调用函数invoke]
        id3-27[非成员size/empty/data函数]
        id3-28[采样算法sample]
        id3-29[搜索算法searcher]
        id3-30[多态内存资源]
        id3-31[硬件干涉大小]
        id3-32[数学特殊函数]
        id3-33[共享互斥锁shared_mutex]
        id3-34[并行算法执行策略]
        id3-35[字符串转换改进]
        id3-36[其他重要特性]
        id3-37[静态断言消息]
        id3-38[预处理条件__has_include]
        id3-39[无异常动态内存分配]
        id3-40[内存对齐分配]
        id3-41[未求值上下文中的lambda]
语言核心特性
结构化绑定
if和switch的初始化语句
内联变量
折叠表达式
类模板参数推导
constexpr if语句
模板参数推导指南
嵌套命名空间定义
using声明中的包展开
属性命名空间不必重复
新的属性[[fallthrough]]
新的属性[[nodiscard]]
新的属性[[maybe_unused]]
进制浮点数字面量
枚举的直接列表初始化
聚合体的扩展初始化
标准库增强
文件系统库
并行算法
字符串视图string_view
可选类型optional
变体类型variant
任意类型any
应用tuple到函数apply
调用函数invoke
非成员size/empty/data函数
采样算法sample
搜索算法searcher
多态内存资源
硬件干涉大小
数学特殊函数
共享互斥锁shared_mutex
并行算法执行策略
字符串转换改进
其他重要特性
静态断言消息
预处理条件__has_include
无异常动态内存分配
内存对齐分配
未求值上下文中的lambda

4 C++20新特性 #

语言核心特性
概念Concepts
模块Modules
协程Coroutines
路比较运算符<=>
指定初始化
范围for的初始化语句
常量表达式虚函数
常量表达式dynamic_cast
常量表达式typeid
即时函数consteval
常量初始化constinit
位域默认成员初始化
lambda表达式捕获[=, this]
模板参数列表中的lambda
包展开中的初始化器
允许lambda在未求值上下文中
聚合体的父类初始化
条件explicit
基于范围的for循环的初始化器
标准库增强
范围库Ranges
格式库format
跨度span
位操作bit
源位置source_location
协程支持库
同步输出流osyncstream
原子智能指针
范围适配器视图
日历和时区库
停止令牌stop_token
可连接线程jthread
信号量semaphore
闩锁latch
屏障barrier
整数比较函数
constexpr容器和字符串
类型特征增强
数学常量
其他重要特性
指定初始化器
无符号整数的溢出检查
模块分区
全局模块片段
私有模块片段
协程句柄无分配
协程承诺类型
协程分配器
协程traits
协程noop_coroutine
mindmap
    id4[C++20新特性]
        id4-1[语言核心特性]
        id4-2[概念Concepts]
        id4-3[模块Modules]
        id4-4[协程Coroutines]
        id4-5[路比较运算符<=>]
        id4-6[指定初始化]
        id4-7[范围for的初始化语句]
        id4-8[常量表达式虚函数]
        id4-9[常量表达式dynamic_cast]
        id4-10[常量表达式typeid]
        id4-11[即时函数consteval]
        id4-12[常量初始化constinit]
        id4-13[位域默认成员初始化]
        id4-14[lambda表达式捕获[=, this]]
        id4-15[模板参数列表中的lambda]
        id4-16[包展开中的初始化器]
        id4-17[允许lambda在未求值上下文中]
        id4-18[聚合体的父类初始化]
        id4-19[条件explicit]
        id4-20[基于范围的for循环的初始化器]
        id4-21[标准库增强]
        id4-22[范围库Ranges]
        id4-23[格式库format]
        id4-24[跨度span]
        id4-25[位操作bit]
        id4-26[源位置source_location]
        id4-27[协程支持库]
        id4-28[同步输出流osyncstream]
        id4-29[原子智能指针]
        id4-30[范围适配器视图]
        id4-31[日历和时区库]
        id4-32[停止令牌stop_token]
        id4-33[可连接线程jthread]
        id4-34[信号量semaphore]
        id4-35[闩锁latch]
        id4-36[屏障barrier]
        id4-37[整数比较函数]
        id4-38[constexpr容器和字符串]
        id4-39[类型特征增强]
        id4-40[数学常量]
        id4-41[其他重要特性]
        id4-42[指定初始化器]
        id4-43[无符号整数的溢出检查]
        id4-44[模块分区]
        id4-45[全局模块片段]
        id4-46[私有模块片段]
        id4-47[协程句柄无分配]
        id4-48[协程承诺类型]
        id4-49[协程分配器]
        id4-50[协程traits]
        id4-51[协程noop_coroutine]