Vic*_*kel 3 c++ c++20 c++-coroutine
我想知道 co_await 一个通过引用临时捕获的协程是否有效。那么下面的代码是否有效,我想编译器应该将临时变量放在协程框架中,就像局部变量一样:
task g(const S&);
task f() {
co_await g(S{});
}
Run Code Online (Sandbox Code Playgroud)
在 clang 和 msvc ( https://godbolt.org/z/HqHae8 ) 上,恢复 g 后临时似乎被破坏了,无论是在 gcc ( https://godbolt.org/z/hFWvU- ) 上似乎临时在初始挂起后被销毁。