rc属于coroutine中的局部变量(栈变量),这个coroutine在执行到yield_now().await这句时会被suspend,suspend时会保存栈,也就是局部变量的值会保持。
这个coroutine后来某个时刻被resume时,会利用之前保存的栈继续执行,rc之前的值就继续用了。直到退出coroutine的scope时被drop/destroy。
这跟其他语言的coroutine没啥大区别: coroutine被suspend时保存栈(帧),coroutine被resume时恢复栈(帧)。
cpp的还有人给翻译了一下
https://bbs.huaweicloud.com/blogs/150492
--
FROM 114.241.227.*