协程概念参考 协程的概念及实现 ,C++ 20 的协程为无栈协程
协程语法
定义协程
C++20 将以下三种函数当成协程
有
co_await表达式有
co_yield表达式有
co_return表达式
协程约束:
- 参数不能为可变参数
- 不能有
return表达式 - 不能为常量函数
- 不能为构造函数,析构函数和
main函数
协程的执行
一个协程涉及以下对象:
协程是计算机程序的一类组件,允许执行被挂起和恢复。
协程有多个入口点,执行过程过
度量下面累加程序的性能
| |
最直观的度量方法就是程序运行的时间,可以使用 C++ 标准库 <chrono> 中的 high_resolution_clock 来测量。
函数提高了一种封装代码的方式,它可以被多次调用,调用完成后会返回调用点,可选的它可以接收多个参数,返回一个值。
栈是后进先出的数据结构,系统在程序运行时会分配一块内存区域以栈的方式管理,这块内存区域就叫运行时栈或栈内存空间。
内存以字节为单位保存信息,每个字节都有一个编号,这个编号就是内存地址。
一个 int a = 0x12345678 变量占用 4 个字节,而变量的地址为变量 a 在内存中的最低地址,比如 &a 为 0x100 时,说明 a 在内存中的位置为 0x100 0x101 0x102 0x103 。