C++11,C++14,C++17,C++20,C++23,C++26 │ 编译器支持 C++11,C++14,C++17,C++20,C++23,C++26
语言
关键词 − 预处理器 ASCII 码表 基本概念 注释 名字(查找) 类型(基础类型) main 函数 表达式 值类别 求值顺序 运算符(优先级) 转换 − 字面量 语句 if − switch for − 范围 for (C++11) while − do-while 声明 − 初始化 函数 − 重载 类(联合体) 模板 − 异常 独立实现
main
for
do
while
标准库(标头)
具名要求
功能特性测试宏 (C++20)
语言支持库
程序工具 source_location (C++20) 协程支持 (C++20) 三路比较 (C++20) 类型支持 numeric_limits − type_info initializer_list (C++11)
概念库 (C++20)
诊断库
exception − 系统错误 basic_stacktrace (C++23)
内存管理库
unique_ptr (C++11) shared_ptr (C++11) weak_ptr (C++11) 内存资源 (C++17) 分配器 − 低层内存管理
元编程库 (C++11)
类型特征 − ratio integer_sequence (C++14)
通用工具库
函数对象 − hash (C++11) 交换 − 类型运算 (C++11) 整数比较 (C++20) pair − tuple (C++11) optional (C++17) expected (C++23) variant (C++17) − any (C++17) 字符串转换 (C++17) 格式化 (C++20) bitset − 位操纵 (C++20) 调试支持 (C++26)
字符串库
basic_string − char_traits basic_string_view (C++17) 空终止字符串: 字节 − 多字节 − 宽
容器库
vector − deque − array (C++11) list − forward_list (C++11) map − multimap − set − multiset unordered_map (C++11)unordered_multimap (C++11) unordered_set (C++11)unordered_multiset (C++11) 容器适配器 span (C++20) − mdspan (C++23)
迭代器库
范围库 (C++20)
算法库
执行策略 (C++17) 受约束算法 (C++20)
数值库
常用数学函数 数学特殊函数 (C++17) 数学常数 (C++20) 基本线性代数算法 (C++26) 数值算法 伪随机数生成 浮点环境 (C++11) complex − valarray
日期时间库
日历 (C++20) − 时区 (C++20)
本地化库
locale − 字符分类 text_encoding (C++26)
输入/输出库
打印函数 (C++23) 基于流的输入/输出 − 输入/输出操纵符 basic_istream − basic_ostream 同步的输出 (C++20) 文件系统 (C++17)
正则表达式库 (C++11)
basic_regex − 算法 默认正则表达式语法
并发支持库 (C++11)
thread − jthread (C++20) atomic − atomic_flag atomic_ref (C++20) − memory_order 互斥 − 信号量 (C++20) 条件变量 − future latch (C++20) − barrier (C++20)安全回收 (C++26)
标准库扩展 (库基础 TS)
resource_adaptor − invocation_type
标准库扩展 v2 (库基础 TS v2)
propagate_const − ostream_joiner − randint observer_ptr − 检测手法
标准库扩展 v3 (库基础 TS v3)
scope_exit − scope_fail − scope_success − unique_resource
并行库扩展 v2 (并行 TS v2)
simd
并发库扩展 (并发 TS) 事务性内存 (TM TS) 反射 (反射 TS)