C++26 功能特性
|
提案
|
|
|
|
|
|
| 测试 <charconv> 函数的成功或失败 (FTM)*
|
P2497R0
|
14
|
18
|
|
16.0.0*
|
| std::text_encoding:文本编码识别 (FTM)*
|
P1885R12 P2862R1
|
14
|
|
|
|
| 使用 std::format 实现 std::to_string 和 std::to_wstring 的算术类型重载 (FTM)*
|
P2587R3
|
14
|
|
|
|
| 类型检查格式参数 (FTM)*
|
P2757R3
|
15
|
|
|
|
| 格式化指针 (FTM)*
|
P2510R3
|
14*
|
17*
|
19.40**
|
|
| std::chrono 各值类型的散列支持 (FTM)*
|
P2592R3
|
|
|
|
|
| <rcu>:读-复制-更新(RCU) (FTM)*
|
P2545R4
|
|
|
|
|
| <hazard_pointer>:风险指针 (FTM)*
|
P2530R3
|
|
|
|
|
| 免遭 ADL 的 std::projected
|
P2538R1
|
14*
|
18*
|
19.38**
|
16.0.0*
|
constexpr 的稳定排序 (FTM)*
|
P2562R1
|
15
|
21
|
|
|
| 成员 std::basic_format_arg::visit() (FTM)*
|
P2637R3
|
15
|
19
|
|
|
| 成员 std::variant::visit() (FTM)*
|
P2637R3
|
15
|
18
|
|
|
| std::is_within_lifetime (FTM)*
|
P2641R4
|
|
|
|
|
| 使用既存的异构重载扩展关联容器 (FTM)*
|
P2363R5
|
|
|
|
|
| 允许在无序关联容器中使用 std::weak_ptr 作为 key (FTM)*
|
P1901R2
|
|
|
|
|
| 从文件流获得本机句柄 (FTM)*
|
P1759R6
|
14
|
18
|
|
16.0.0*
|
| 字符串流的 std::string_view 接口 (FTM)*
|
P2495R3
|
|
19
|
|
|
| std::bitset 的 std::string_view 接口 (FTM)*
|
P2697R1
|
|
18
|
|
16.0.0*
|
使 <cmath> 和 <complex> 更 constexpr (FTM)* (FTM)*
|
P1383R2
|
4.6 (部分)*
|
|
|
|
| 为 <ratio> 添加新的 2022 国际单位制(SI)前缀:std::quecto、std::ronto、std::ronna 和 std::quetta (FTM)*
|
P2734R0
|
14
|
17
|
|
|
| std::function_ref:类型擦除的可调用引用 (FTM)*
|
P0792R14
|
|
|
|
|
| std::copyable_function (FTM)*
|
P2548R6
|
|
|
|
|
| 使用 NTTP 可调用对象的 std::bind_front、std::bind_back 和 std::not_fn (FTM)* (FTM)* (FTM)*
|
P2714R1
|
|
|
|
|
| std::submdspan() (FTM)*
|
P2630R4 P3355R1
|
|
|
|
|
| 独立式语言:可选
::operator new
|
P2013R5
|
|
|
19.38*
|
|
| 独立的 std::char_traits,std::errc 和 <charconv>、<cstdlib>、<cstring>、<cwchar> 中的设施 (FTM)* (FTM)* (FTM)* (FTM)* (FTM)* (FTM)*
|
P2338R4
|
|
|
19.38*
|
|
| 更多独立设施 (FTM)* (FTM)* (FTM)* (FTM)* (FTM)* (FTM)* (FTM)* (FTM)*
|
P2198R7
|
|
|
19.38*
|
|
| 饱和算术 (FTM)*
|
P0543R3
|
14
|
18
|
|
16.0.0*
|
| <debugging>:调试支持 (FTM)*
|
P2546R5 P2810R4
|
|
|
|
|
| <linalg>:基于 BLAS 的自由函数线性代数接口 (FTM)*
|
P1673R13 P3050R2 P3222R0
|
|
|
|
|
| 使 assert() 宏用户友好
|
P2264R7
|
|
|
|
|
| 运行时格式化字符串 (FTM)*
|
P2918R2
|
14
|
18
|
|
16.0.0*
|
| 通过初始化式列表构造 std::span (FTM)*
|
P2447R6
|
15
|
18
|
|
16.0.0*
|
| std::span::at() (FTM)*
|
P2821R5
|
14
|
18
|
|
16.0.0*
|
| 向 std::complex 添加元组协议 (FTM)*
|
P2819R2
|
15
|
19
|
|
|
| std::generate_canonical 的新规范
|
P0952R2
|
|
|
19.42*
|
|
| 删除被弃用的类型别名 std::allocator::is_always_equal
|
P2868R3
|
15
|
18
|
|
16.0.0*
|
| 删除 std::basic_string::reserve() 的无参重载
|
P2870R3
|
|
18
|
|
16.0.0*
|
| 删除被弃用的 Unicode 转换设施 (<codecvt>)
|
P2871R3
|
|
18
|
|
16.0.0*
|
| 独立式:删除 std::strtok (FTM)*
|
P2937R0
|
14
|
|
19.40*
|
|
| 独立式库:使得部分类独立 (FTM)* (FTM)* (FTM)* (FTM)* (FTM)*
|
P2407R5
|
14
|
|
19.42*
|
|
| 独立式库:std::inout、std::expected、std::span (FTM)* (FTM)* (FTM)* (FTM)*
|
P2833R2
|
14
|
|
19.42*
|
|
| DR23:std::basic_const_iterator 应该遵从其底层类型的可转换性 (FTM)*
|
P2836R1 P2950R0
|
14
|
|
19.40*
|
|
| DR20:std::make_format_args 只接受左值引用而不是转发引用
|
P2905R2
|
14
|
18
|
19.40*
|
16.0.0*
|
| DR20:修复格式化代码单元为整数 (FTM)*
|
P2909R4
|
13.3
|
18
|
19.40*
|
16.0.0*
|
| views::concat (FTM)*
|
P2542R8
|
15
|
|
|
|
| 连接字符串和字符串视图 (FTM)*
|
P2591R5
|
15
|
19
|
|
|
| 为算法启用列表初始化 (FTM)*
|
P2248R8 P3217R0
|
15
|
|
|
|
| std::ranges::generate_random (FTM)*
|
P1068R11
|
|
|
|
|
| std::reference_wrapper 的比较,以及对 std::pair、std::tuple、std::optional 和 std::variant 的比较的约束 (FTM)* (FTM)*
|
P2944R3
|
14
|
19 (部分)*
|
|
|
有填充 mdspan 布局 (FTM)*
|
P2642R6
|
|
|
|
|
| 新的 std::span 和 std::mdspan 以整数常量进行的 CTAD
|
P3029R1
|
|
19
|
|
|
| 原子的最大值与最小值 (FTM)*
|
P0493R5
|
|
|
|
|
| std::formatter<std::filesystem::path> (FTM)*
|
P2845R8
|
|
|
|
|
| 用 std::println() 打印空行 (FTM)*
|
P3142R0
|
14*
|
19*
|
19.41**
|
|
| 取消弃用 std::polymorphic_allocator::destroy
|
P2875R4
|
|
15
|
19.41*
|
|
移除已弃用的 strstream
|
P2867R2
|
|
19
|
|
|
| 移除已弃用的 std::shared_ptr 原子访问 API
|
P2869R4
|
|
|
|
|
| 移除 std::wstring_convert
|
P2872R3
|
|
19
|
|
|
| DR23:允许 std::print 的一种高效实现 (FTM)*
|
P3107R5 P3235R3
|
|
|
19.43*
|
|
| 执行控制库 (FTM)*
|
P2300R10 P3396R0
|
|
|
|
|
| std::inplace_vector:具有固定容量的可动态调整大小向量 (FTM)*
|
P0843R14
|
|
|
|
|
| std::philox_engine:基于计数器的随机数引擎 (FTM)*
|
P2075R6
|
|
|
|
|
| std::optional 的范围支持 (FTM)*
|
P3168R2
|
|
|
|
|
| std::is_virtual_base_of:用于检测虚基类的类型特征 (FTM)*
|
P2985R0
|
15
|
20
|
|
|
| 用于 std::mdspan 的 std::dims (FTM)*
|
P2389R2
|
|
19
|
|
|
| DR11:std::ignore 的类型的正式规范
|
P2968R2
|
15
|
19
|
19.42*
|
|
| DR20:移除可间接调用概念中对公共引用的要求 (FTM)*
|
P2997R1
|
15
|
19
|
19.42*
|
|
| 弃用 std::is_trivial 和 std::is_trivial_v
|
P3247R2
|
15
|
21
|
|
|
| DR20:算法函数对象
|
P3136R1
|
是
|
是
|
19.39*
|
是
|
| std::ranges::cache_latest_view (FTM)*
|
P3138R5
|
15
|
|
|
|
| 约束 std::expected 的相等运算符 (FTM)*
|
P3379R0
|
15
|
|
|
|
| std::aligned_accessor:使用过量对齐指针的 std::mdspan 访问器 (FTM)*
|
P2897R7
|
|
|
|
|
| std::is_sufficiently_aligned:检查指针的对齐前条件 (FTM)*
|
P2897R7
|
|
|
|
|
| std::atomic_ref::address() (FTM)*
|
P2835R7
|
|
|
|
|
| DR11/20:std::atomic 与 std::atomic_ref 中的 cv 限定类型
|
P3323R1
|
|
|
19.44*
|
|
constexpr 的 std::atomic 与 std::atomic_ref (FTM)*
|
P3309R3
|
|
|
|
|
constexpr 的特化内存算法 (FTM)*
|
P3508R0 P3369R0
|
15
|
|
|
|
| <stdbit.h> 与 <stdckdint.h>
|
P3370R1
|
15
|
|
|
|
| <simd>:数据并行类型 (FTM)*
|
P1928R15 P3430R3 P3441R2 P3287R3 P2663R7 P2933R4
|
|
|
|
|
| 用于创建执行环境的工具
|
P3325R5
|
|
|
|
|
constexpr 的异常类型,例如 std::bad_alloc、std::bad_cast 等 (FTM)*
|
P3068R6 P3378R2
|
|
|
|
|
| 可平凡重定位特征和操作 (FTM)*
|
P2786R13
|
|
|
|
|
无害化和弃用 std::memory_order::consume
|
P3475R1
|
|
|
|
|
| 将 std::monostate 放入 <utility>
|
P0472R3
|
15
|
21
|
19.50*
|
|
| std::indirect (FTM)*
|
P3019R14
|
|
|
|
|
| std::polymorphic (FTM)*
|
P3019R14
|
|
|
|
|
更多 constexpr 容器和适配器 (FTM)*
|
P3372R2
|
|
|
|
|
非平凡类型 std::inplace_vector 的 constexpr (FTM)*
|
P3074R7
|
|
|
|
|
| std::ranges::to_input_view (FTM)*
|
P3137R3
|
15
|
|
|
|
| std::ranges::approximately_sized_range 和 std::ranges::reserve_hint (FTM)*
|
P2846R6
|
|
|
|
|
| <hive>:一种基于桶的重用已擦除元素内存位置的容器 (FTM)*
|
P0447R28
|
|
|
|
|
| <contracts>:契约违背处理支持 (FTM)*
|
P2900R14
|
|
|
|
|
| 标准库加固
|
P3471R4 P3697R1 P3878R1
|
15 (部分)*
|
|
19.44* (部分)* 19.50* (部分)*
|
|
| 独立式库:<algorithm>、<numeric> 和 <random> (FTM)* (FTM)* (FTM)* (FTM)* (FTM)*
|
P2976R1
|
|
|
|
|
| DR20:将连续迭代器转换为指针
|
P3349R0
|
|
|
19.51*
|
|
C++26 功能特性
|
提案
|
|
|
|
|