【C++20】CppCon2020主题演讲-学习记录

目录

 

0.引入

0.1链接与背景介绍

0.1本文中的一些词语

1.演讲人背景

2.Agenda(议程)

2.1OverRall(总体概况)

2.2New Keywords&New identifiers(新关键字与新标识符)

3.四大概念主题讲解

3.1Module(模块)

3.1.1总体介绍

3.1.2模块的使用的简单例子

3.1.3标准库头文件与客户自定义头文件的导入方法

3.2Ranges

3.2.1什么是Ranges&为什么我们要选择Ranges

3.2.2一些相关概念

3.2.3用法

3.3Coroutines

3.3.1什么是Coroutines(什么是协程)

3.3.2Coroutines可以用来做什么呢?

3.3.3目前对协程的支持情况

3.3.4VC下面的一个简单示例

3.4Concepts

3.4.1Concepts的作用

3.4.2简单使用

3.4.3更强大的使用

3.4.4相关概念

3.4.5concepts的使用使得编译器能帮助我们检查并给出清晰的错误信息

4.重要变化

4.1Lambda Expression Changes

4.1.1[=,this] as Lambda Capture

4.1.2templated lambda expression

4.1.3Pack Expansion in Lambda Captures

4.2constexpr changes

4.2.1constexpr virtual functions

4.2.2union,try/catch,dynamic_cast,typeid

4.2.3allocations

4.2.4constexpr string&vector

4.3concurrency changes

4.3.1Atomic Smart Pointers

4.3.2Joining & Cancellable Threads

4.3.3The C++20 Synchronization Library

5.其他小变化

5.1Designated Initializers

5.2 Spaceship Operator<=>

5.2.1简单的应用

5.2.2C++17到C++20的变迁

5.2.3<=>在标准库中的应用

5.3Range-based For Loop Initializer

5.3.1C++17中的基于范围的for循环初始化

5.3.2C++20中的基于范围的for循环初始化

5.4Non-Type Template Parameters

5.5[[likely]][[unlikely]]

5.6Calendars&TimeZones

5.7std::span

5.8Feature Test Macros

5.9<version>

5.10Immediate Functions-consteval

5.11constinit

5.12Class Enums and using Directive

5.13Text Formatting

5.14 Math Constants

5.15std::source_location

5.16[[nodiscard(reason)]]

5.17Bit Operations

5.18Small STL Additionas

6.总结


0.引入

0.1链接与背景介绍

本文参照视频链接-谢谢UP

本次演讲人是此书的作者Marc Gregoire

0.1本文中的一些词语

 

1.演讲人背景

2.Agenda(议程)

2.1OverRall(总体概况)

2.2New Keywords&New identifiers(新关键字与新标识符)

3.四大概念主题讲解

3.1Module(模块)

3.1.1总体介绍

3.1.2模块的使用的简单例子

3.1.3标准库头文件与客户自定义头文件的导入方法

3.2Ranges

3.2.1什么是Ranges&为什么我们要选择Ranges

3.2.2一些相关概念

3.2.3用法

3.3Coroutines

3.3.1什么是Coroutines(什么是协程)

3.3.2Coroutines可以用来做什么呢?

3.3.3目前对协程的支持情况

3.3.4VC下面的一个简单示例

3.4Concepts

3.4.1Concepts的作用

3.4.2简单使用

3.4.3更强大的使用

3.4.4相关概念

3.4.5concepts的使用使得编译器能帮助我们检查并给出清晰的错误信息

 

4.重要变化

4.1Lambda Expression Changes

4.1.1[=,this] as Lambda Capture

4.1.2templated lambda expression

4.1.3Pack Expansion in Lambda Captures

4.2constexpr changes

4.2.1constexpr virtual functions

4.2.2union,try/catch,dynamic_cast,typeid

4.2.3allocations

4.2.4constexpr string&vector

4.3concurrency changes

4.3.1Atomic Smart Pointers

4.3.2Joining & Cancellable Threads

4.3.3The C++20 Synchronization Library

5.其他小变化

5.1Designated Initializers

5.2 Spaceship Operator<=>

5.2.1简单的应用

5.2.2C++17到C++20的变迁

\

5.2.3<=>在标准库中的应用

5.3Range-based For Loop Initializer

5.3.1C++17中的基于范围的for循环初始化

5.3.2C++20中的基于范围的for循环初始化

5.4Non-Type Template Parameters

5.5[[likely]][[unlikely]]

5.6Calendars&TimeZones

5.7std::span

5.8Feature Test Macros

5.9<version>

5.10Immediate Functions-consteval

5.11constinit

5.12Class Enums and using Directive

5.13Text Formatting

5.14 Math Constants

5.15std::source_location

5.16[[nodiscard(reason)]]

5.17Bit Operations

5.18Small STL Additionas

6.总结

好好学吧~~

学习视频彩蛋~~非常感谢年更UP每年为我们带来CPP盛宴

CPP大会年更UP的首页

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值