C++29
来自 zh.cppreference.net
< cpp
C++标准的下一代。
当前的IS计划(C++29):P1000R8 (2026-04-13)。
| 此部分不完整 |
新增语言特性
新增库特性
新增模块
新增头文件
| 此部分不完整 |
废弃特性
移除的特性
| 此部分不完整 |
弃用的特性
| 此部分不完整 |
缺陷报告
编译器支持
主条目:C++29编译器支持
C++29核心语言特性
| C++29特性 |
提案 |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
Nvidia HPC C++ (ex PGI)* |
Nvidia nvcc |
Cray |
|
|---|---|---|---|---|---|---|---|---|---|---|---|
#embed 偏移量参数 (FTM)*
|
P3540R3 | ||||||||||
| 契约 用于虚函数 (FTM)* | P3097R3 | ||||||||||
| 包索引 用于模板 (FTM)* | P3670R4 | ||||||||||
| 指定初始化器 用于基类 (FTM)* | P2287R6 | ||||||||||
| 具有抛出异常规范的解分配函数为病式 | P3424R2 | ||||||||||
| 复合要求中的条件noexcept说明符compound requirements (FTM)* | P3822R2 | ||||||||||
| 默认化后缀自增和自减运算符函数 | P3668R4 | ||||||||||
| 对默认化的赋值运算符函数添加限制 | P2953R5 | ||||||||||
| DR26: consteval-only值 (FTM)* | P4101R1 | ||||||||||
| DR23: 允许在命名的通用字符转义中使用 figment 和缩写 | P3733R1 | ||||||||||
| DR20: 移除协程 promise 返回函数的互斥性 (FTM)* | P3950R1 | ||||||||||
| DR: 根据新的Unicode建议调整标识符 | P3658R1 | ||||||||||
| DR: 显式lambda捕获 按词法顺序声明和初始化 | P3847R1 | 3.1 | |||||||||
| DR: 允许模板使用C语言链接 | P2243R0 | ||||||||||
| DR: 阐明浮点溢出的行为 | P3899R3 | ||||||||||
| DR: 非确定性指针来源 | P2434R5 | ||||||||||
| DR: 解决原子和volatile访问的指针生命周期结束清零问题 | P2414R12 | ||||||||||
| DR: 为无效指针定义加载和存储操作 | P3347R6 | ||||||||||
| C++29特性 |
提案 |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
Nvidia HPC C++ (ex PGI)* |
Nvidia nvcc |
Cray |
C++29库特性
| C++29特性 |
提案 |
GCC libstdc++ |
Clang libc++ |
MSVC STL |
Apple Clang* |
|
|---|---|---|---|---|---|---|
| 映射容器的更好查找函数 (FTM)* | P3091R6 | |||||
| 指针标记 (FTM)* | P3125R6 | |||||
| 线程属性 (FTM)* | P2019R9 | |||||
| 风险指针批处理 (FTM)* | P3428R4 | |||||
| 位排列 (FTM)* (FTM)* | P3104R6 P3772R2 |
|||||
| std::shl 和 std::shr (FTM)* (FTM)* | P3793R2 | |||||
| std::mdspan 复制和填充操作 (FTM)* | P3242R4 | |||||
| std::simd::iota (FTM)* | P3319R6 | |||||
| std::expected::has_error() (FTM)* | P3798R1 | |||||
| view_interface::at() (FTM)* | P3052R2 | |||||
| std::formatter<std::error_code> | P3395R6 | |||||
| 修复std::to_chars中的默认浮点表示 (FTM)* | P3505R4 | |||||
| 要求std::intptr_t和std::uintptr_t | P3248R5 | |||||
| 弃用I/O流中的有符号字符类型 | P3154R3 | |||||
| DR26: 回退std::constant_wrapper中的字符串字面量支持 (FTM)* | P4206R0 | 17 | ||||
| C++29特性 |
提案 |
GCC libstdc++ |
Clang libc++ |
MSVC STL |
Apple Clang* |
* - 将鼠标悬停在标有星号 * 的单元格上可查看额外的弹出注释。
DRnn - "DR"后的数字nn表示该缺陷报告所针对的C++版本,例如DR20 → C++20。
外部链接
| 1. | C++29 - 维基百科 |