Skip to content

2021年最新整理,500个c++11/14/17/20/23的新特性代码案例,包含lambda匿名函数,右值引用,auto,coroutine库,synchronization库等

Notifications You must be signed in to change notification settings

ls-Brynn/cpp_new_features

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cpp_new_features

2021年最新整理,500个c++11/14/17/20/23的新特性代码案例,包含lambda匿名函数,右值引用,auto,coroutine库,synchronization库,持续更新中......


C++新特性


C++11新特性

关键字

新增关键字

含义变化或者新增含义关键字(meaning changed or new meaning added)

类型支持(基本类型、RTTI、类型特性)

Primary type categories

Composite type categories

Type categories

Supported operations

STL容器

无序容器

元组std::tuple

hash

智能指针


正则表达式


函数

非静态成员函数

函数对象模板


模板


原子操作


线程


异常


错误


新语法

预处理

C++宏(cplusplus macro)

基于范围的for语句

对齐支持(alignment support)

显式转换操作符(explicit conversion operators)

静态断言(static assert)
  • 语法:static_assert(常量表达式,"提示字符串")

  • static assert

数字限制(numeric limits)

原始字符串(raw string)

追踪返回类型语法(trailing return type syntax)

扩展的friend语法(extended friend syntax)

扩展的整型(extended integer types)

非受限联合体(unrestricted union)

内联名字空间(lnline namespace)

用户定义的字面量(user-defined literals)

强类型枚举(scoped and strongly typed enums)

随机装置(random device)

std::ref和std::cref

常量表达式(constexpr)

lamda表达式

指针空值(nullptr)

防止类型收窄(Preventing narrowing)

初始化列表(initializer lists)

统一的初始化语法和语义(Uniform initialization syntax and semantics)

POD(plain old data)

long long整型

移动语义(move semantics)

右值引用(rvalue reference)

c99特性(c99)

一般化的SFINAE规则(generalized SFINAE rules)

C++14新特性

类型支持(基本类型、RTTI、类型特性)

定义于头文件<type_traits>

定义于头文件<utility>

定义于头文件<initializer_list>

定义于头文件<iterator>

定义于命名空间std

定义于头文件 <array>

定义于头文件 <deque>

定义于头文件 <forward_list>

定义于头文件 <iterator>

定义于头文件 <list>

定义于头文件 <map>

定义于头文件 <regex>

定义于头文件 <set>

定义于头文件 <span>

定义于头文件 <string>

定义于头文件 <string_view>

定义于头文件 <unordered_map>

定义于头文件 <unordered_set>

定义于头文件 <vector>

定义于命名空间 std

C++17新特性

关键字

含义变化或者新增含义关键字(meaning changed or new meaning added)

类型支持(基本类型、RTTI、类型特性)

定义于头文件<type_traits>

定义于头文件<utility>

定义于头文件<tuple>

定义于头文件<optional>

定义于头文件<variant>

定义于头文件<any>

定义于头文件<charconv>

定义于头文件<initializer_list>

容器库

定义于头文件<map>

定义于头文件<unordered_map>

定义于头文件 <array>

定义于头文件 <deque>

定义于头文件 <forward_list>

定义于头文件 <iterator>

定义于头文件 <list>

定义于头文件 <map>

定义于头文件 <regex>

定义于头文件 <set>

定义于头文件 <span>

定义于头文件 <string>

定义于头文件 <string_view>

定义于头文件 <unordered_map>

定义于头文件 <unordered_set>

定义于头文件 <vector>

定义于命名空间 std

C++20新特性

关键字

新增关键字

含义变化或者新增含义关键字(meaning changed or new meaning added)

类型支持(基本类型、RTTI、类型特性)

定义于头文件<type_traits>

协程支持

定义于头文件<coroutine>

三路比较

定义于头文件<compare>

定义于头文件<concepts>

定义于头文件<utility>

定义于头文件<format>

定义于头文件<memory>

定义于头文件<memory_resource>

Concepts library(概念库)

定义于头文件<concepts>

动态内存管理

定义于头文件<memory>

日期和时间工具

定义于头文件<chrono>

字符串

定义于头文件<string>

定义于头文件<string_view>

定义于头文件<cuchar>

容器库

定义于头文件<array>

定义于头文件<vector>

定义于头文件<map>

定义于头文件<unordered_map>

定义于头文件<span>

定义于命名空间 std

定义于命名空间 std::ranges

定义于命名空间 std

定义于头文件

定义于命名空间 std

定义于头文件

定义于头文件 <array>

定义于头文件 <deque>

定义于头文件 <forward_list>

定义于头文件 <iterator>

定义于头文件 <list>

定义于头文件 <map>

定义于头文件 <regex>

定义于头文件 <set>

定义于头文件 <span>

定义于头文件 <string>

定义于头文件 <string_view>

定义于头文件 <unordered_map>

定义于头文件 <unordered_set>

定义于头文件 <vector>

定义于命名空间 std

定义于头文件

定义于头文件

定义于命名空间 std::ranges

C++23新特性

类型支持(基本类型、RTTI、类型特性)

定义于头文件<type_traits>

定义于头文件<utility>

定义于头文件<stacktrace>

动态内存管理

定义于头文件<memory>

字符串

定义于头文件<string>

定义于头文件<string_view>

About

2021年最新整理,500个c++11/14/17/20/23的新特性代码案例,包含lambda匿名函数,右值引用,auto,coroutine库,synchronization库等

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.4%
  • C 0.6%