以下库扩展了编程语言 C++。
通过 Boost.Coroutine,可以在 C++ 中使用协程。协程是其他编程语言的一个特性,通常使用关键字 yield 来表示协程。在这些编程语言中,yield 可以像 return 一样使用。但是,当使用 yield 时,该函数会记住该位置,如果再次调用该函数,将从该位置继续执行。
C++ 没有定义关键字 yield。但是,使用 Boost.Coroutine 可以从函数返回并稍后从同一位置继续。 Boost.Asio 库也使用 Boost.Coroutine 并受益于协程。
Boost.Coroutine 有两个版本。本章介绍第二个版本,即当前版本。这个版本从 Boost 1.55.0 开始可用,并取代了第一个版本。
示例 51.1。使用协程
- #include
- #include
-
- using namespace boost::coro