【问题标题】:What is "suspension context of a function" in C++什么是 C++ 中的“函数的暂停上下文”
【发布时间】:2016-10-10 21:15:15
【问题描述】:

Gor Nishanov、Jens Maurer、Richard Smith 和 Daveed Vandevoorde 的“协同程序的措辞”(文档 C++ P0057R5),参见 P0057r5,谈了很多关于“函数的暂停上下文”并直接指向“5.3. 8"

这是在哪里定义的?

我之所以这样问,是因为对于一个流程,有时某些代码需要或应该需要在某些地方或不在某些地方。就像 Notify(我认为是)一样,在 Java 中应该被要求是最后一个语句(Per Brinch Hansen(1999 年)的“Java 的不安全并行”)。我想知道函数的暂停上下文是否在这样的地方?

【问题讨论】:

  • 不需要那个免责声明。我们也不是在这里讨论
  • 如果您搜索链接文档中相关短语,则字面意思是第一个命中...
  • 不,我不认为我们应该讨论,如果你害怕的话。
  • 我没有在那个文档中看到它的定义,只是使用了(?)我问是因为我不知道这是一个 C++ 通用术语还是它实际上只是在那个文档中使用.我在堆栈溢出时找不到它,所以我想可能有人知道。谢谢

标签: c++ multithreading coroutine


【解决方案1】:

就在论文中说它被定义的地方:

await-expression 只能出现在 compound-statement 内的潜在评估表达式中 处理程序之外的 function-body (15)。在声明语句simple-declaration(如果有)for-init-statementawait-expression 只能出现在 declaration-statementsimple-declaration 的初始化程序。等待表达式不应 出现在默认参数 (8.3.6) 中。 函数中的上下文,await-expression 可以 出现被称为函数的悬浮上下文

【讨论】:

  • 脸红.. 非常感谢! (在挪威,我们说我看不到只有树木的森林)
猜你喜欢
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 2021-11-23
  • 2018-07-17
  • 2021-10-17
  • 2018-04-15
  • 1970-01-01
  • 2016-12-15
相关资源
最近更新 更多