本文共 511 字,大约阅读时间需要 1 分钟。
#include#include using namespace boost::coroutines;//coroutine函数void cooperative(coroutine ::push_type &sink){ std::cout << "Hello"; //之所以能够执行是因为重载了操作符() //返回main()函数继续运行 sink(); std::cout << "world"; //执行完毕,返回main继续执行}int main(){ //c++11新特性:统一初始化 //source对象由于是pull_type类型,所以会马上调用cooperative, push_type类型不会立即执行 coroutine ::pull_type source{ cooperative }; std::cout << ", "; //返回cooperative函数继续执行 source(); std::cout << "!"; std::cout << "\n";}
输出结果