C++中的"suspension context of a function"是什么

What is "suspension context of a function" in C++

Gor Nishanov、Jens Maurer、Richard Smith 和 Daveed Vandevoorde 的 "Wording for Coroutines"(文档 C++ P0057R5),请参阅 P0057r5,谈论了很多关于 "suspension context of a function" 并直接指向“ 5.3.8

这是在哪里定义的?

我问是因为,对于一个过程,有时某些代码是或应该被要求在或不在某些地方。就像 Notify(我认为是)一样,in Java 应该被要求成为最后一个语句(Per Brinch Hansen (1999) 的 "Java’s Insecure Paralleism")。请问函数的暂停上下文是不是在这样的地方?

在论文中定义它的地方:

An await-expression shall appear only in a potentially-evaluated expression within the compound-statement of a function-body outside of a handler (15). In a declaration-statement or in the simple-declaration (if any) of a for-init-statement, an await-expression shall appear only in an initializer of that declaration-statement or simple-declaration. An await-expression shall not appear in a default argument (8.3.6). A context within a function where an await-expression can appear is called a suspension context of the function.