【发布时间】:2017-12-01 08:45:21
【问题描述】:
目前我正在阅读很多关于协程的内容。 虽然我认为我只部分了解了它们的作用(例如,允许返回一个函数并在某个时间点继续),但我真的不知道为什么要使用它们。我认为使用协程没有真正的好处。对我来说,这些东西在我看来就像带有额外步骤的 goto。有人可以给我一个很好的现实世界的例子,协程可以真正改善代码库吗?也许这有助于我理解这个概念。
【问题讨论】:
-
您可以使用它们实现生成器,例如kirit.com/How%20C%2B%2B%20coroutines%20work。
-
@Artur Biesiadowski 感谢您的回答,但与将 int 数设为静态并在最后一次通话时计数器结束的位置继续操作相比有什么好处? (我已经找到了那个例子)
-
如果您有多个生成器实例并从不同的线程中使用它们,那么静态 int 将无法很好地工作。
-
我可以给生成器一个模板 id(我不想惹恼你,但那是我的想法让我很难看到好处......)
标签: c++-coroutine