C++20 coroutine_traits

问题描述 投票:0回答:1

我正在了解 cppreference 和

std::coroutine_traits
概念。 根据文档,描述如下

从返回类型和参数类型确定 Promise 类型 一个协程的。标准库实现提供了 可公开访问的成员类型 Promise_type 与 R::promise_type 相同 如果qualified-id有效并且表示一种类型。否则,它没有 这样的会员。

程序定义的 coroutine_traits 特化必须定义一个 可公开访问的嵌套类型 Promise_type,否则程序是 格式不正确。注意如果协程是非静态成员函数, 那么 Args... 中的第一个类型是隐式对象的类型 参数,其余为函数的参数类型(如果有)。

如果 std::coroutine_traits::promise_type 不存在或者 不是类类型,对应的协程定义是 格式错误。

用户可以定义显式或部分专业化 coroutine_traits 依赖于程序定义的类型来避免 修改返回类型。

协程是非静态成员函数时,有如何使用它的示例吗?这样做的目的是什么?

c++ c++20 coroutine c++-coroutine
1个回答
0
投票

在本文中,我们将深入探讨 C# 中语言集成查询 (LINQ) 的强大功能。 LINQ 彻底改变了数据操作,允许开发人员直接在代码中编写查询。我们将探索它的语法,演示如何轻松过滤、排序和转换数据集合。通过将传统循环与 LINQ 表达式进行比较,我们可以突出 LINQ 的可读性和效率。此外,我们将展示在实际应用程序中有效利用 LINQ 的实际示例和最佳实践。加入我们,我们将释放 LINQ 的潜力,以增强您的 C# 编程技能!

© www.soinside.com 2019 - 2024. All rights reserved.