C++26 编译器支持
来自cppreference.com
< cpp | compiler support
C++26 核心语言功能特性
| C++26 功能特性 |
提案 |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
IBM XLC++ |
Sun/Oracle C++ |
Embarcadero C++ Builder |
Cray |
Nvidia HPC C++ (前 Portland Group/PGI) |
Nvidia nvcc |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DR23: 从词法分析中删除未定义的行为 | P2621R2 | 是 | 3.3 | |||||||||||
| DR: 使不可编码的字符串文本格式不正确 | P1854R4 | 14 | ||||||||||||
| 不求值字符串 | P2361R6 | 17 (部分)* 18 |
||||||||||||
将 @,$,和 ` 添加至基本字符集
|
P2558R2 | 是 | ||||||||||||
| constexpr 的从 void* 转换 | P2738R1 | 14 | 17 | |||||||||||
| DR: 使标准属性可忽略 | P2552R2 | |||||||||||||
| DR: 大括号初始化的静态存储 | P2752R2 | 14 | ||||||||||||
| 用户生成的 static_assert 消息 | P2741R3 | 17 | ||||||||||||
| 没有名字的占位符变量 | P2169R4 | 18 | ||||||||||||
| C++26 功能特性 |
提案 |
GCC |
Clang |
MSVC |
Apple Clang |
EDG eccp |
Intel C++ |
IBM XLC++ |
Sun/Oracle C++ |
Embarcadero C++ Builder |
Cray |
Nvidia HPC C++ |
Nvidia nvcc |
C++26 库功能特性
| C++26 功能特性 |
提案 |
GCC libstdc++ |
Clang libc++ |
MSVC STL |
Apple Clang |
Sun/Oracle C++ 标准库 |
Embarcadero C++ Builder 标准库 |
Cray C++ 标准库 |
|
|---|---|---|---|---|---|---|---|---|---|
| 测试 <charconv> 函数的成功或失败 | P2497R0 | 18 | |||||||
| std::text_encoding:文本编码识别 | P1885R12 | ||||||||
| 使用 std::format 实现 std::to_string 和 std::to_wstring | P2587R3 | 14 | |||||||
| 类型检查格式参数 | P2757R3 | ||||||||
| 格式化指针 | P2510R3 | 14 | 17 | ||||||
| std::chrono 的哈希支持 | P2592R3 | ||||||||
| 读-拷贝更新 (Read-copy update,RCU) | P2545R4 | ||||||||
| 风险指针 | P2530R3 | ||||||||
| ADL 阻止 std::projected | P2538R1 | 14 | 19.38* | ||||||
| constexpr 的稳定排序 | P2562R1 | ||||||||
成员 visit
|
P2637R3 | ||||||||
| 常量求值的 std::is_within_lifetime | P2641R4 | ||||||||
| 使用既存的异构重载扩展关联容器 | P2363R5 | ||||||||
| 允许在无序关联容器中使用 std::weak_ptr 作为 key | P1901R2 | ||||||||
| 从文件流获得本机句柄 | P1759R6 | ||||||||
| 字符串流的 std::string_view 接口 | P2495R3 | ||||||||
| std::bitset 的 std::string_view 接口 | P2697R1 | ||||||||
| 使 <cmath> 和 <complex> 更 constexpr | P1383R2 | 4.6 (部分)* | |||||||
| 为 <ratio> 添加新的 2022 SI 前缀:std::quecto、 std::ronto、 std::ronna 和 std::quetta | P2734R0 | 14 | 17 | ||||||
| std::function_ref:类型擦除的可调用引用 | P0792R14 | ||||||||
| std::copyable_function | P2548R6 | ||||||||
| std::bind_front、 std::bind_back 和 std::not_fn 到 NTTP 可调用对象 | P2714R1 | ||||||||
| std::submdspan() | P2630R4 | ||||||||
| 独立语言:可选 ::operator new | P2013R5 | 不适用 | |||||||
| C++26 功能特性 |
提案 |
GCC libstdc++ |
Clang libc++ |
MSVC STL |
Apple Clang |
Sun/Oracle C++ 标准库 |
Embarcadero C++ Builder 标准库 |
Cray C++ 标准库 |