C++新特性

  • Post author:
  • Post category:其他




C++2b 功能特性

请注意,随 C++2b 标准草案的逐步推进,此列表可能会发生变化。



C++23 核心语言功能特性

C++23 功能特性 提案 GCC Clang MSVC Apple Clang EDG eccp Intel C++ IBM XLC++ Sun/Oracle C++ Embarcadero C++ Builder Cray Portland Group (PGI) Nvidia nvcc [

折叠

]
(有符号)

size_t



字面量后缀

P0330R8
C++23 功能特性 提案 GCC Clang MSVC Apple Clang EDG eccp Intel C++ IBM XLC++ Sun/Oracle C++ Embarcadero C++ Builder Cray Portland Group (PGI) Nvidia nvcc



C++23 库功能特性

C++23 功能特性 提案 GCC libstdc++ Clang libc++ Apple Clang MSVC 标准库 Sun/Oracle C++ 标准库 Embarcadero C++ Builder 标准库 Cray C++ 标准库 [

折叠

]
栈追踪库
P0881R7



P0943R6


std::is_scoped_enum


P1048R1


basic_string


/


basic_string_view




contains()

P1679R3
C++23 功能特性 提案 GCC libstdc++ Clang libc++ Apple Clang MSVC 标准库 Sun/Oracle C++ 标准库 Embarcadero C++ Builder 标准库 Cray C++ 标准库



C++20 功能特性



C++20 核心语言功能特性

C++20 功能特性 提案 GCC Clang MSVC Apple Clang EDG eccp Intel C++ IBM XLC++ Sun/Oracle C++ Embarcadero C++ Builder Cray Portland Group (PGI) Nvidia nvcc [

折叠

]
允许 lambda 捕获

[=, this]

P0409R2
8 6 19.22* 10.0.0* 5.1

__VA_OPT__

P0306R4


P1042R1
8 (部分)* 10 9 19.25* 11.0.3* 5.1

指派初始化器

P0329R4
4.7 (部分)* 8 3.0 (部分)* 10 19.21* (部分)* 5.1
泛型 lambda 的模板形参列表
P0428R2
8 9 19.22* 11.0.0* 5.1
位域的默认成员初始化器
P0683R1
8 6 19.25* 10.0.0* 5.1
类模板实参推导中的 intializer_list 构造函数
P0702R1
8 6 19.14* 5.0
const& 限定的成员指针
P0704R1
8 6 19.0* 10.0.0* 5.1

概念

P0734R0
6 (仅 TS) 10 10 19.23* (部分)*
不求值语境中的 lambda
P0315R4
9

三路比较运算符

P0515R3
10 8 (部分) 10 19.20* 5.1
DR :简化隐式 lambda 捕获
P0588R1
8 19.24* 5.1
基于范围的 for 的初始化语句
P0614R1
9 8 19.25* 11.0.0* 6.0
可默认构造与可赋值的无状态 lambda
P0624R2
9 8 19.22* 10.0.1* 5.1
预置复制构造函数与 const 的不匹配
P0641R2
9 8 19.21* (部分) 10.0.1* 5.1
特化上的访问检查
P0692R1
8 (部分) 19.26* 10.0.1*(部分) 5.1
ADL 与不可见的函数模板
P0846R0
9 9 19.21* 11.0.3* 5.1
指定

constexpr

函数定义何时为

常量求值所需要

P0859R0
5.2 (部分)* 9 8
属性

[[likely]]



[[unlikely]]

P0479R5
9 19.26* 5.1
使

typename

更可选

P0634R3
9 5.1
Lambda 初始化捕获中的包展开
P0780R2
9 9 19.22* 11.0.3*
属性

[[no_unique_address]]

P0840R2
9 9 11.0.3* 5.1
DR :放松

结构化绑定

定制点查找规则

P0961R1
8 8 19.21* 10.0.1* 5.1
DR :放松

范围

for

循环

定制点查找规则

P0962R1
8 5.1
DR :允许到可访问成员的结构化绑定
P0969R0
8 8 19.21* 10.0.1* 5.1

销毁的 operator delete

P0722R3
9 6 19.27* 10.0.0* 6.1
非类型模板形参中的类类型
P0732R2
9 19.26*
弃用经由

[=]

隐式捕获

this

P0806R2
9 19.22* 5.1


explicit(bool)


P0892R2
9 9 19.24* 11.0.3* 5.1
集成特性测试宏
P0941R2
5 3.4 19.15* (部分) 19.20* 5.0
禁止有用户声明构造函数的聚合体
P1008R1
9 8 19.20* 10.0.1* 5.1
constexpr 虚函数
P1064R0
9 9 11.0.3* 5.1
比较的一致性改进
P1120R0
10 8 (部分) 10 19.22* 10.0.1*(部分) 5.1

char8_t

P0482R6
9 7 19.22* 10.0.0* 5.1


std::is_constant_evaluated()


P0595R2
9 9 19.25* 11.0.3* 5.1 19.1
constexpr 函数中的

try



catch


P1002R1
9 8 19.25* 10.0.1* 5.1

立即函数

P1073R3
10 (部分)* 5.1

嵌套 inline 命名空间

P1094R2
9 8 10.0.1* 5.1

有制约


声明

的另一种手段

P1141R2
10 19.26* (部分)
有符号整数为补码
P1236R1
9 9 11.0.3*
constexpr

dynamic_cast

及多态

typeid

P1327R1
10 9 11.0.3* 5.1
在 constexpr 内更改联合体的活跃成员
P1330R0
9 9 19.10* 11.0.3* 5.1

协程

P0912R5
10 8 (部分) 19.25* (部分) 10.0.1*(部分) 5.1
聚合体的括号初始化
P0960R3
10 5.1
DR :

new 表达式

中的数组大小推导

P1009R2
9 11.0.3* 5.1

模块

P1103R3
8 (部分) 19.25* (部分) 10.0.1*(部分)
更强的 Unicode 要求
P1041R4


P1139R2
10 19.0*(P1041R4) 19.26*(P1139R2) N/A

<=> != ==

P1185R2
10 10 19.22* 5.1
DR :拥有不同异常说明的显式默认化函数
P1286R2
10 9 11.0.3* 5.1
结构化绑定的 lambda 捕获与存储类说明符
P1091R3


P1381R1
10 8 (部分) 10.0.1*(部分) 5.1
容许转换到未知边界数组
P0388R4
10 6.0
constexpr 容器操作
P0784R7
10 10 6.0
弃用

volatile

的某些用法

P1152R4
10 10 6.0


constinit


P1143R2
10 10
弃用下标中的逗号运算符
P1161R3
10 9 19.25* 11.0.3* 6.0
带消息的

[[nodiscard]]

P1301R4
10 9 19.25* 11.0.3* 6.0
constexpr 函数中的平凡默认初始化
P1331R2
10 10 6.0
constexpr 函数中的不求值汇编声明
P1668R1
10 10 6.1
using enum
P1099R5
19.24*
对指定的比较类别合成三路比较
P1186R3
10 10 19.24* 6.0
DR :构造函数的

[[nodiscard]]

P1771R1
10 9 19.24* 11.0.3* 6.0
别名模板的

类模板实参推导

P1814R0
10
聚合类的类模板实参推导
P1816R0
10
DR :更多局部对象与右值引用的

隐式移动

P1825R0
19.24* 6.0
允许默认化按值比较
P1946R0
10 19.25* 6.1
移除

std::weak_equality



std::strong_equality

P1959R0
10 19.25*
非类型模板形参的不一致
P1907R1
9 19.26*
DR :伪析构函数终结对象生存期
P0593R6
11
DR :应认为从

T*



bool

的转换为窄化

P1957R2
10*
C++20 功能特性 提案 GCC Clang MSVC Apple Clang EDG eccp Intel C++ IBM XLC++ Sun/Oracle C++ Embarcadero C++ Builder Cray Portland Group (PGI) Nvidia nvcc



C++20 库功能特性

C++20 功能特性 提案 GCC libstdc++ Clang libc++ Apple Clang MSVC 标准库 Sun/Oracle C++ 标准库 Embarcadero C++ Builder 标准库 Cray C++ 标准库 [

折叠

]


std::endian


P0463R1
8 7 10.0.0* 19.22*
扩展

std::make_shared()

以支持数组

P0674R1
19.27*
浮点原子类型
P0020R6
10 19.22*

同步缓冲的


输出流

P0053R7


](https://zh.cppreference.com/w/cpp/header/algorithm) 与 [




constexpr

P0202R3
10 8 (部分) 10.0.1*(部分) 19.26*



的更多

constexpr

P0415R1
9 7 (部分) 10.0.0*(部分) 19.27*
使

std::memory_order

为有作用域枚举

P0439R0
9 9 11.0.3* 19.25*

字符串

前缀与后缀检查

P0457R2
9 6 19.21*

operator<=>

的库支持



P0768R1
10 7 (部分) 10.0.0*(部分) 19.20* (部分)


std::remove_cvref


P0550R2
9 6 10.0.0* 19.20*
标准库中的

[[nodiscard]]

P0600R1
9 7 (部分) 10.0.0*(部分) 19.13* (部分) 19.22*


数值算法

使用

std::move

P0616R0
9 19.23*
转换指针为裸指针的工具
P0653R2
8 6 19.22*
原子


std::shared_ptr





std::weak_ptr


P0718R2
19.27*


std::span


P0122R7
10 7 10.0.0* 19.26*

日历



时区

P0355R7
7 (部分) 10.0.0*(部分)



P0754R2
9 7 10.0.0* 19.22*
比较无序容器
P0809R0
16.0*


常量表达式迭代器


(ConstexprIterator)


要求

P0858R0
9 19.11*

std::basic_string::reserve()

不应收缩

P0966R1
8 10.0.1* 19.25*


std::atomic_ref


P0019R8
10
关联容器的

contains()

成员函数

P0458R2
9 19.21*
DR :

逐片构造

的受保证复制消除

P0475R1
9


std::bit_cast()


P0476R2
19.27*

整数的 2 的幂的运算

P0556R3


P1956R1
9 (P0556R3) 10 (P1956R1) 19.25*(P0556R3) 19.27*(P1956R1)
改进仿

erase

算法的返回值

P0646R1
9 10 19.21*


std::destroying_delete


P0722R3
9 9 11.0.3* 19.27*


std::is_nothrow_convertible


P0758R1
9 9 11.0.3* 19.23*
添加

shift



<algorithm>

P0769R2
10 19.21*

std::swap()



swap

相关函数的 constexpr

P0879R0
10 19.26*


std::type_identity


P0887R1
9 8 10.0.1* 19.21*

概念库

P0898R3
10 19.23*

std::array



constexpr


比较运算符

P1023R0
10 8 10.0.1* 19.27*


std::unwrap_ref_decay



std::unwrap_reference


P0318R1
9 8 10.0.1* 19.21*


std::bind_front()


P0356R5
9 19.25*
不完整类型的

std::reference_wrapper

P0357R3
9 8 10.0.1* 19.26*
修正


operator>>(basic_istream&, CharT*)


P0487R1
8 10.0.1* 19.23*

char8_t

的库支持

P0482R6
9 19.22*
实现

使用分配器


构造



工具函数

P0591R4
9
DR :

std::variant



std::optional

应传播复制/移动平凡性

P0602R4
8.3 8 10.0.1* 19.11*
理智的

std::variant

转换构造函数

P0608R3
10 9 11.0.3*

std::function

的移动构造函数应为

noexcept

P0771R1
7.2 6 19.22*

一个


范围


提案

P0896R4
10
无序容器的异质查找
P0919R3


P1690R1
19.23*(P0919R3) 19.25*(P1690R1)




zero()



min()



max()

应为

noexcept

P0972R0
9 8 10.0.1* 19.14*

std::pointer_traits

中的

constexpr

P1006R1
9 8 10.0.1* 19.26*


std::assume_aligned()


P1007R3
9
移除

std::span

的比较运算符

P1085R2
10 8 10.0.1* 19.26*
使


operator+(basic_string)


的有状态分配器传播更加一致

P1165R1
10 19.26*

一致容器擦除

P1209R0


P1115R3
9 (P1209R0) 10 (P1115R3) 8 (P1209R0) 11 (P1115R3) 10.0.1*(P1209R0) 19.25*(P1209R0) 19.27*(P1115R3)


std::lerp()





std::midpoint()


P0811R3
9 9 11.0.3* 19.23* (部分)

std::span

的实用性增强

P1024R3
10 9 11.0.3* 19.26*
DR :使


create_directory()


自发

P1164R1
8.3 19.20*


std::ssize()




std::span

的无符号长度

P1227R2
10 9 11.0.3* 19.25*

有界



无界

数组特征

P1357R1
9 9 11.0.3*


std::to_array()


P0325R4
10 10 19.25*

std::basic_stringbuf

缓冲的有效访问

P0408R7

布局


兼容性



指针


可互转换性

特征

P0466R5

位操作

P0553R4
9 9 11.0.3* 19.25*

数学常数 “

P0631R8
10 19.25*

文本格式化

P0645R10


std::stop_token





std::jthread


P0660R10
10
constexpr

std::allocator

及相关工具

P0784R7
10
constexpr

std::string

P0980R1
constexpr

std::vector

P1004R2

输入范围适配器

P1035R7
10
constexpr

std::invoke()

及相关工具

P1065R2
10
原子等待与提醒、


std::counting_semaphore





std::latch





std::barrier


P1135R6


std::source_location


P1208R6
7 (仅 TS)
添加

<=>

到标准库

P1614R2
10

std::atomic



std::atomic_flag

的 constexpr 默认构造函数

P0883R2
19.26*

数值算法

的 constexpr

P1645R1
10 19.26*

安全整数比较

P0586R2
10 19.27*
C++20 功能特性 提案 GCC libstdc++ Clang libc++ Apple Clang MSVC 标准库 Sun/Oracle C++ 标准库 Embarcadero C++ Builder 标准库 Cray C++ 标准库



C++17 功能特性



C++17 核心语言功能特性

C++17 功能特性 提案 GCC Clang MSVC Apple Clang EDG eccp Intel C++ IBM XLC++ Sun/Oracle C++ Embarcadero C++ Builder Cray Portland Group (PGI) Nvidia nvcc [

折叠

]
直接列表初始化的新 auto 规则
N3922
5 3.8 19.0* 4.10.1 17.0 10.3 17.7
无消息的


static_assert


N3928
6 2.5 19.10* 4.12 18.0 10.3 17.7
模板模板形参中的

typename

N4051
5 3.5 19.0* 4.10.1 17.0 10.3 17.7
移除三标符
N4086
5 3.5 16.0* 5.0 19.0.1 10.3
嵌套命名空间定义
N4230
6 3.6 19.0* 4.12 17.0 10.3 17.7
命名空间和枚举项的属性
N4266
4.9 (部分)* 6 3.6 19.0* 4.11 17.0 10.3 17.7


u8

字符字面量

N4267
6 3.6 19.0* 4.11 17.0 10.3 17.7
允许所有非类型模板实参的常量求值
N4268
6 3.6 19.12* 5.0 19.0.1 10.3

折叠表达式

N4295
6 3.6 19.12* 4.14 19.0 10.3 18.1
一元折叠表达式和空形参包
P0036R0
6 3.9 19.12* 4.14 10.3
移除


register


关键字的已弃用用法

P0001R1
7 3.8 19.11* 4.13 18.0 10.3 17.7
移除已弃用的

operator++(bool)

P0002R1
7 3.8 19.11* 4.13 18.0 10.3 17.7
令异常规定为类型系统的一部分
P0012R1
7 4 19.12* 4.14 19.0 10.3
有基类的类的

聚合初始化

P0017R1
7 3.9 19.14* 5.0 19.0.1 10.3
预处理器条件中的


__has_include


P0061R1
5 19.11* 4.13 18.0 10.3 17.7
DR :

继承构造函数

的新规定 (DR1941 等)

P0136R1
7 3.9 19.14* 6.1 10.3 19.1

*this

的 lambda 捕获

P0018R3
7 3.9 19.11* 4.14 19.0 10.3 18.1
枚举的直接列表初始化
P0138R2
7 3.9 19.11* 4.14 18.0 10.3
constexpr lambda 表达式
P0170R1
7 5 19.11* 4.14 19.0 10.3 18.1
基于范围 for 的相异 begin 和 end 类型
P0184R0
6 3.9 19.10* 4.12 18.0 10.3 17.7

[[fallthrough]]

属性

P0188R1
7 3.9 19.10* 4.13 18.0 10.3 17.7

[[nodiscard]]

属性

P0189R1
7 3.9 19.11* 4.13 18.0 10.3 17.7

[[maybe_unused]]

属性

P0212R1
7 3.9 19.11* 4.13 18.0 10.3 17.7
十六进制

浮点字面量

P0245R1
3.0 19.11* 4.13 18.0 10.3 17.7
使用属性命名空间而不重复
P0028R4
7 3.9 19.11* 4.13 18.0 10.3 17.7
过对齐数据的

动态内存分配

P0035R4
7 4 19.12* 10.0.0* 4.14 10.3

类模板实参推导

P0091R3
7 5 19.14* 5.0 19.0.1 10.3 19.1
具有

auto

类型的非类型模板形参

P0127R2
7 4 19.14* 5.0 19.0.1 10.3 19.1
受保证的

复制消除

P0135R1
7 4 19.13* 5.0 19.0.1 10.3 19.1
替换含引用成员的类对象
P0137R1
7 6 19.14* 5.0 10.3
更严格的

表达式求值顺序

P0145R3
7 4 19.14* 5.0 19.0.1 10.3

结构化绑定

P0217R3
7 4 19.11* 4.14 19.0 10.3 18.1
忽略未知属性
P0283R2
3.9 19.11* 4.13 18.0 10.3 17.7

constexpr if

语句

P0292R2
7 3.9 19.11* 4.14 19.0 10.3 18.1

if



switch

的初始化语句

P0305R1
7 3.9 19.11* 4.14 18.0 10.3 18.1

inline 变量

P0386R2
7 3.9 19.12* 4.14 19.0 10.3 18.1
移除

动态异常说明

P0003R5
7 4 19.10* 4.14 19.0 10.3
using 声明中的包展开
P0195R2
7 4 19.14* 5.0 10.3
DR :模板模板实参的匹配排除了兼容的模板
P0522R0
7 4 19.12* 5.0 19.0.1 10.3
C++17 功能特性 提案 GCC Clang MSVC Apple Clang EDG eccp Intel C++ IBM XLC++ Sun/Oracle C++ Embarcadero C++ Builder Cray Portland Group (PGI) Nvidia nvcc



C++17 库功能特性

C++17 功能特性 提案 GCC libstdc++ Clang libc++ Apple Clang MSVC 标准库 Intel 并行 STL Sun/Oracle C++ 标准库 Embarcadero C++ Builder 标准库 Cray C++ 标准库 [

折叠

]

std::void_t

N3911
6 3.6 19.0* N/A 10.3


std::uncaught_exceptions()


N4259
6 3.7 19.0* N/A 10.3

std::size()



std::empty()



std::data()

N4280
6 3.6 19.0* N/A 10.3
改进

std::pair



std::tuple

N4387
6 4 19.0* N/A 10.3

std::bool_constant

N4389
6 3.7 19.0* N/A 10.3

std::shared_mutex

(无时限)

N4508
6 3.7 19.0* N/A 10.3

类型特性

变量模板

P0006R0
7 3.8 19.0* N/A 10.3

逻辑运算符类型特性

P0013R1
6 3.8 19.0* N/A 10.3
标准化并行 TS
P0024R2
9* 19.14* 18.0*

std::clamp()

P0025R0
7 3.9 10.0.0* 19.0* N/A 10.3

硬件干涉大小

P0154R1
19.11* N/A

(nothrow-)swappable 特性

P0185R1
7 3.9 10.0.0* 19.0* N/A 10.3

文件系统库

P0218R1
8 7 11.0.0* 19.14* N/A 10.3

std::string_view

N3921


P0220R1
7 4 10.0.0* 19.10* N/A 10.3

std::any

P0220R1
7 4 10.0.0* 19.10* N/A 10.3

std::optional

P0220R1
7 4 10.0.0* 19.10* N/A 10.3

多态内存资源

P0220R1
9 19.13* N/A 10.3

数学特殊函数

P0226R1
7 19.14* N/A 10.3
C++17 应指代 C11 而非 C99
P0063R3
9 7 19.0* (部分)* N/A 10.3
接合 map 与 set
P0083R3
7 8 10.0.0* 19.12* N/A

std::variant

P0088R3
7 4 10.0.0* 19.10* N/A 10.3

std::make_from_tuple()

P0209R2
7 3.9 19.10* N/A 10.3

std::has_unique_object_representations

P0258R2
7 6 19.11* N/A 10.3

std::gcd()



std::lcm()

P0295R0
7 4 19.11* N/A 10.3

std::not_fn

P0005R4


P0358R1
7 3.9 19.12* N/A 10.3

初等字符串转换

P0067R5
8 (无浮点) 7 (无浮点) 19.14* (无浮点)* 19.24* N/A
有数组支持的

std::shared_ptr



std::weak_ptr

P0414R2
7 11 19.12* N/A 10.3


std::scoped_lock


P0156R2
7 5 19.11* N/A 10.3


std::byte


P0298R3
7 5 19.11* N/A 10.3


std::is_aggregate


LWG2911
7 5 19.15* N/A 10.3
C++17 功能特性 提案 GCC libstdc++ Clang libc++ Apple Clang MSVC 标准库 Intel 并行 STL Sun/Oracle C++ 标准库 Embarcadero C++ Builder 标准库 Cray C++ 标准库



C++14 功能特性



C++14 核心语言功能特性

C++14 功能特性 提案 GCC Clang MSVC Apple Clang EDG eccp Intel C++ IBM XLC++ Sun/Oracle C++ Embarcadero C++ Builder Cray Portland Group (PGI) Nvidia nvcc [

折叠

]

按语境转换

的遣词调整

N3323
4.9 3.4 18.0* 4.9 16.0 13.1.2* 5.15 10.3 8.6 16.1 9.0

二进制字面量

N3472
4.3 (GNU) 4.9 2.9 19.0* 4.10 11.0 13.1.2* 5.14 10.3 8.6 2015 9.0


decltype(auto)


,普通函数的返回类型推导

N3638
4.8 (部分)* 4.9 19.0* 4.9 15.0 13.1.2* 5.15 10.3 8.6 16.1 9.0
带初始化/泛化的 lambda 捕获 (init-capture)
N3648
4.5 (部分) 4.9 3.4 19.0* 4.10 15.0 16.1.1* 5.15 10.3 8.6 16.1 9.0
泛型 lambda 表达式
N3649
4.9 3.4 19.0* 4.10 16.0 13.1.2* 5.15 10.3 8.6 16.1 9.0

变量模板

N3651
5 3.4 19.0* 4.11 17.0 13.1.2* 5.15 10.3 8.6 17.4 9.0
扩展的 constexpr
N3652
5 3.4 19.10* 4.11 17.0 13.1.2* 5.15 10.3 8.6 17.4 9.0
带成员初始化器的聚合体 (NSDMI)
N3653
5 3.3 19.10* 4.9 16.0 16.1.1* 5.14 10.3 8.6 16.1 9.0
忽略/扩展

内存分配

N3664
N/A 3.4 N/A N/A N/A N/A N/A 10.3 8.6 17.4 N/A

[[deprecated]]

属性

N3760
4.9 3.4 19.0* 4.9 15.0* 16.0 13.1.2* 5.14 10.3 8.6 16.1 9.0

具大小解分配

N3778
5 3.4 19.0* 4.10.1 17.0 16.1.1* 5.14 10.3 8.6 16.1
单引号作为数位分隔符
N3781
4.9 3.4 19.0* 4.10 16.0 13.1.2* 5.14 10.3 8.6 2015 9.0
C++14 功能特性 提案 GCC Clang MSVC Apple Clang EDG eccp Intel C++ IBM XLC++ Sun/Oracle C++ Embarcadero C++ Builder Cray Portland Group (PGI) Nvidia nvcc



C++14 库功能特性

C++14 功能特性 提案 GCC libstdc++ Clang libc++ Apple Clang MSVC 标准库 Sun/Oracle C++ 标准库 Embarcadero C++ Builder 标准库 Cray C++ 标准库 [

折叠

]





constexpr

N3302
5 3.4 19.0* 5.15 10.3 8.6
通透的

运算符函数对象

N3421
4.9 3.4 18.0* 5.15 10.3 8.6

std::result_of

与 SFINAE

N3462
5 19.0* 5.15 10.3 8.6





constexpr

N3469
5 3.4 19.0* 5.15 10.3 8.6





constexpr

N3470
5 3.4 19.0* 5.15 10.3 8.6


](https://zh.cppreference.com/w/cpp/header/initializer_list) 、 [








constexpr

N3471
5 3.4 19.0* 5.15 10.3 8.6
改进的

std::integral_constant

N3545
5 3.4 19.0* 5.15 10.3 8.6


](https://zh.cppreference.com/w/cpp/header/chrono) 和 [


的用户定义字面量

N3642
5 3.4 19.0* 5.15 10.3 8.6

空向前迭代器

N3644
5 (部分) 3.4 19.0* 5.15 10.3 8.6

std::quoted

N3654
5 3.4 19.0* 5.15 10.3 8.6

std::make_unique

N3656
4.9 3.4 18.0* 5.15 10.3 8.6
异质关联查找
N3657
5 3.4 19.0* 5.15 10.3 8.6

std::integer_sequence

N3658
5 3.4 19.0* 5.15 10.3 8.6

std::shared_timed_mutex

N3659
5 3.4 19.0* 5.15 10.3 8.6

std::exchange

N3668
5 3.4 19.0* 5.15 10.3 8.6
修正无

const



constexpr

成员函数

N3669
5 3.4 19.0* 5.15 10.3 8.6


std::get()


N3670
5 3.4 19.0* 5.15 10.3 8.6
双范围的

std::equal



std::is_permutation



std::mismatch

N3671
5 3.4 19.0* 5.15 10.3 8.6
C++14 功能特性 提案 GCC libstdc++ Clang libc++ Apple Clang MSVC 标准库 Sun/Oracle C++ 标准库 Embarcadero C++ Builder 标准库 Cray C++ 标准库



C++11 功能特性



C++11 核心语言功能特性

C++11 功能特性 提案 GCC Clang MSVC Apple Clang EDG eccp Intel C++ IBM XLC++ Sun/Oracle C++ Embarcadero C++ Builder Cray Portland Group (PGI) Nvidia nvcc HP aCC Digital Mars C++ [

折叠

]
C99

预处理器

N1653
4.3 19.0*(部分)* 19.26* 4.1 11.1 10.1 5.9 8.4 2015 7.0 A.06.25

static_assert

N1720
4.3 2.9 16.0* 4.1 11.0 11.1 5.13 8.4 2015 7.0 A.06.25 8.52
右角括号
N1757
4.3 14.0* 4.1 11.0 12.1 5.13 8.4 2015 7.0
扩展的

friend 声明

N1791
4.7 2.9 16.0*(部分) 18.0* 4.1 11.1 (部分) 12.0 11.1 5.13 8.4 2015 7.0 A.06.25
long long
N1811
14.0* 8.4 2015 7.0
类型特征的编译器支持
N1836
4.3 3.0 14.0* 4.0 10.0 13.1.3 5.13 8.4 2015 6.16


auto


N1984
4.4 16.0* 3.9 11.0 (v0.9) 12.0 11.1 5.13 8.4 2015 7.0 A.06.25

委托构造函数

N1986
4.7 3.0 18.0* 4.7 14.0 11.1 5.13 8.4 2015 7.0 A.06.28
extern template
N1987
3.3 12.0* 3.9 9.0 11.1 5.13 8.4 2015 7.0 A.06.25


constexpr


N2235
4.6 3.1 19.0* 4.6 13.0 (部分) 14.0 12.1 (部分) 13.1 5.13 8.4 2015 7.0 A.06.28

模板别名

N2258
4.7 3.0 18.0* 4.2 12.1 13.1.1* 5.13 8.4 2015 7.0 A.06.27

char16_t



char32_t

N2249
4.4 2.9 19.0* 4.4 12.1* 14.0 13.1.1* 5.13 8.4 2015 7.0 A.06.27 8.52


alignas


N2341
4.8 3.0 19.0* 4.8 15.0 13.1.2* 5.13 8.6 2015 7.0


alignof


N2341
4.5 2.9 19.0* 4.8 15.0 13.1.2* 5.13 8.4 2015 7.0
默认化与被删除的函数
N2346
4.4 3.0 18.0* 4.1 12.0 13.1 5.13 8.4 2015 7.0 A.06.25

强类型 enum

N2347
4.4 2.9 17.0* 4.0 13.0 12.1 5.13 8.4 2015 7.0 A.06.25

原子操作

N2427
4.4 3.1 17.0* Yes 13.0 13.1.2* 5.14 8.4 2015

nullptr

N2431
4.6 2.9 16.0* 4.2 12.1 13.1 5.13 8.4 2015 7.0 A.06.27 8.52
显式

转换运算符

N2437
4.5 3.0 18.0* 4.4 13.0 12.1 5.13 8.4 2015 7.0 A.06.27
引用限定符
N2439
4.8.1 2.9 19.0* 4.7 14.0 13.1.2* 5.13 8.4 2015 7.0 A.06.28
Unicode

字符串字面量

N2442
4.4 3.0 19.0* 4.7 11.0* 10.1* 13.1.1* 5.7 8.4 2015 7.0 A.06.28 8.52
未处理的

字符串字面量

N2442
4.5 18.0* 4.7 14.0 13.1.1* 5.13 8.4 2015 7.0 A.06.28 8.52

内联命名空间

N2535
4.4 2.9 19.0* 4.5 14.0 11.1 5.13 8.4 2015 7.0 A.06.28

继承构造函数

N2540
4.8 3.3 19.0* 4.8 15.0 13.1.1* 5.13 8.4 2015 7.0
尾随的函数返回类型
N2541
4.4 2.9 16.0* 4.1 12.0 12.1 5.13 8.4 2015 7.0 A.06.27
无限制的

联合体

N2544
4.6 3.0 19.0* 4.6 14.0* 13.1.2* 5.13 8.4 2015 7.0 A.06.28

变参数模板

N2242


N2555
4.3 (N2242) 4.4 2.9 18.0* 4.3 (N2242) 4.3 12.1 11.1 (N2242) 5.13 8.4 2015 7.0 A.06.27

表达式 SFINAE

N2634
4.4 2.9 19.14* 4.2 12.1 8.4 2015 7.0
局部与无名类型作为模板形参
N2657
4.5 2.9 16.0* 4.2 12.0 13.1.2* 5.13 8.4 2015 7.0 A.06.27
线程局部存储
N2659
4.4 (部分) 4.8 3.3* 16.0*(部分) 19.0* 4.8 11.1 (部分) 15.0* 10.1 (部分)* 13.1.2 (部分)* 5.9 (部分) 8.4 2015 8.52 (部分)
带并发的动态初始化与析构(

魔法静态变量


N2660
4.3 2.9 19.0* Yes 11.1* 13.1.2* 5.13 8.4 2015 A.06.25
垃圾收集与基于可达性的泄漏检测
N2670

初始化器列表

N2672
4.4 3.1 18.0* 4.5 13.0 (部分) 14.0 13.1.2* 5.13 8.4 2015 7.0 A.06.28

非静态数据成员初始化器

N2756
4.7 3.0 18.0* 4.6 14.0 13.1.2* 5.13 8.4 2015 7.0 A.06.28

属性

N2761
4.8 3.3 19.0* 4.2 12.1 13.1.1* 5.13 8.4 2015 7.0 A.06.27
前置 enum 声明
N2764
4.6 3.1 17.0* 4.5 11.1 (部分) 14.0 12.1 5.13 8.4 2015 7.0

用户定义的字面量

N2765
4.7 3.1 19.0* 4.8 15.0 13.1.2* 5.14 8.4 2015 7.0

右值引用

N2118


N2844


CWG1138
4.3 (N2118) 4.5 2.9 16.0*(N2844) 17.0* 4.5 11.1 (N2118) 12.0 (N2844) 14.0 12.1 5.13 8.4 2015 7.0* A.06.25

Lambda 表达式

N2550


N2658


N2927
4.5 3.1 16.0*(N2658) 17.0* 4.1 12.0 13.1.2* 5.13 8.4 2015 7.0 A.06.25

范围 for 循环

N2930
4.6 3.0 17.0* 4.5 13.0 13.1.2* 5.13 8.4 2015 7.0 A.06.28

noexcept

N3050
4.6 3.0 19.0* 4.5 14.0 13.1.1* 5.13 8.4 2015 7.0 A.06.28
默认化的移动特殊

成员


函数

N3053
4.6 3.0 19.0* 4.5 14.0 5.13 8.4 2015 7.0 A.06.25

override



final

N2928


N3206


N3272
4.7 2.9 14.0*(部分) 17.0* 4.8 12.0 (N2928) 14.0 13.1.1* 5.13 8.4 2015 7.0


decltype


N2343


N3276
4.3 (N2343) 4.8.1 2.9 16.0* 4.2 (N2343) 4.8 11.0 (N2343) 12.0 11.1 (N2343) 5.13 8.4 2015 7.0 A.06.25 8.52 (N2343)
C++11 功能特性 提案 GCC Clang MSVC Apple Clang EDG eccp Intel C++ IBM XLC++ Sun/Oracle C++ Embarcadero C++ Builder Cray Portland Group (PGI) Nvidia nvcc HP aCC Digital Mars C++



C++11 库功能特性

C++11 功能特性 提案 GCC libstdc++ Clang libc++ Apple Clang MSVC 标准库 Sun/Oracle C++ 标准库 Embarcadero C++ Builder 标准库 Cray C++ 标准库 [

折叠

]

类型特征

N1836
4.3 3.0 14.0* 5.13 8.4
垃圾收集与基于可达性的泄漏检测(

库支持


N2670
6 (无操作) 3.4 (无操作) 是 (无操作) 19.0* (无操作)

金额、时间及十六进制浮点 I/O 操纵符

N2071


N2072
5 3.8 19.0* 5.15
C++11 功能特性 提案 GCC libstdc++ Clang libc++ Apple Clang MSVC 标准库 Sun/Oracle C++ 标准库 Embarcadero C++ Builder 标准库 Cray C++ 标准库

转载:


https://zh.cppreference.com/w/cpp/compiler_support



https://blog.csdn.net/jiange_zh/article/details/79356417