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++ 标准库 |