最全C++11/14/17/20/23 的新特性代码案例

摘要:
最全C++11/14/17/20/23的新特性代码案例来源https://zhuanlan.zhihu.com/p/389895793C++11新特性关键字新增关键字thread_localstatic_assertnullptrnoexceptdecltypeconstexprchar16_tchar32_talignofalignas含义变化或者新增含义关键字(meaningchangedor
最全C++11/14/17/20/23 的新特性代码案例

来源https://zhuanlan.zhihu.com/p/389895793

C++11新特性

关键字

新增关键字

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

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

Defined in header <type_traits>

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、类型特性)

Defined in header<type_traits>

Defined in header<utility>

Defined in header<initializer_list>

Defined in header<iterator>

Defined in namespace std

Defined in header <array>

Defined in header <deque>

Defined in header <forward_list>

Defined in header <iterator>

Defined in header <list>

Defined in header <map>

Defined in header <regex>

Defined in header <set>

Defined in header <span>

Defined in header <string>

Defined in header <string_view>

Defined in header <unordered_map>

Defined in header <unordered_set>

Defined in header <vector>

Defined in namespace std

C++17新特性

关键字

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

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

Defined in header<type_traits>

Defined in header<utility>

Defined in header<tuple>

Defined in header<optional>

Defined in header<variant>

Defined in header<any>

Defined in header<charconv>

Defined in header<initializer_list>

容器库

Defined in header<map>

Defined in header<unordered_map>

Defined in header <array>

Defined in header <deque>

Defined in header <forward_list>

Defined in header <iterator>

Defined in header <list>

Defined in header <map>

Defined in header <regex>

Defined in header <set>

Defined in header <span>

Defined in header <string>

Defined in header <string_view>

Defined in header <unordered_map>

Defined in header <unordered_set>

Defined in header <vector>

Defined in namespace std

C++20新特性

关键字

新增关键字

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

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

Defined in header<type_traits>

协程支持

Defined in header<coroutine>

三路比较

Defined in header<compare>

Defined in header<concepts>

Defined in header<utility>

Defined in header<format>

Defined in header<memory>

Defined in header<memory_resource>

Concepts library(概念库)

Defined in header<concepts>

动态内存管理

Defined in header<memory>

日期和时间工具

Defined in header<chrono>

字符串

Defined in header<string>

Defined in header<string_view>

Defined in header<cuchar>

容器库

Defined in header<array>

Defined in header<vector>

Defined in header<map>

Defined in header<unordered_map>

Defined in header<span>

Defined in namespace std

Defined in namespace std::ranges

Defined in namespace std

Defined in header

Defined in namespace std

Defined in header

Defined in header <array>

Defined in header <deque>

Defined in header <forward_list>

Defined in header <iterator>

Defined in header <list>

Defined in header <map>

Defined in header <regex>

Defined in header <set>

Defined in header <span>

Defined in header <string>

Defined in header <string_view>

Defined in header <unordered_map>

Defined in header <unordered_set>

Defined in header <vector>

Defined in namespace std

Defined in header <ranges>

Defined in header <iterator>

Defined in namespace std::ranges

C++23新特性

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

Defined in header<type_traits>

Defined in header<utility>

Defined in header<stacktrace>

动态内存管理

Defined in header<memory>

字符串

Defined in header<string>

Defined in header<string_view>

=============== End

免责声明:文章转载自《最全C++11/14/17/20/23 的新特性代码案例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Nodejs事件引擎libuv源码剖析之:高效线程池(threadpool)的实现Win10离线安装.NET Framework 3.5的方法技巧(附离线安装包下载)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

php中对象转换数组与数组转换对象实例

用stdClass转换数组为对象                                                                                  Php代码 $arr = array(); $arr['a'] = 1;...

.NET ActionFilterAttribute等

public override void OnException(HttpActionExecutedContext actionExecutedContext){//加LOG actionExecutedContext.Exception //2.返回调用方具体的异常信息if (actionExecutedContext.Exception is Not...

JAVA闭包

一、闭包的定义。   有很多不同的人都对闭包过进行了定义,这里收集了一些。   # 是引用了自由变量的函数。这个函数通常被定义在另一个外部函数中,并且引用了外部函数中的变量。 -- <<wikipedia>>   # 是一个可调用的对象,它记录了一些信息,这些信息来自于创建它的作用域。-- <<Java编程思想>&...

java zip打包与乱码的解决

应用场景:主要使用在对系统文件进行归档,如果中则需要对公文中的附件或正文进行打包归档 示例代码:解决乱码的问题主要是引用apache的包ant.jar。然后注意下面红色代码部分,java自带的包中也有这两个类。如果乱码最好是采用apache的这两个类。这样才会有设置编码的zos.setEncoding("gbk")这个方法。这样就可解决java zip 打...

18-MySQL DBA笔记-MySQL Server调优

第18章 MySQL Server调优 本章将为读者介绍针对MySQL Server的优化,这也是DBA最熟悉的领域之一。首先我们介绍MySQL的主要参数,然后,讲述常见硬件资源的优化。我们假设读者已经具备了足够的基础知识,所以,本章将更多的针对一些特定的主题进行叙述。18.1 概述 衡量数据库性能的指标,一般衡量数据库的性能有两个指标:响应时间和吞吐率。...

java使用map去重复

public class Test { public static void main(String[] args) { Map<Number, String> map1 = new HashMap<Number, String>(); Map<Number, String> ma...