MyCoroutine my_coroutine(int a)
{
auto func_lambda = [a]() -> MyCoroutine
{
return [](int a)->MyCoroutine
{
std::printf("%d\n", a);
co_return;
}(a);
};
return func_lambda();
}
【 在 ziqin 的大作中提到: 】
: 这个问题只能说c++23只是一个tick,不是tock版本,很多设计没有考虑全面
: 你这个问题的本质是,如果coroutine是一个functor,到底哪些算coroutine的state,很明显,在现在的版本里,capture的部分不属于coroutine的state,因为它们是functor struct的data member
: c++标准在推进的时候,基本都是先考虑free function情况,再推广到lambda和template上
: ...................
--
修改:ziqin FROM 115.193.191.*
FROM 115.193.191.*