我正在尝试围绕 C++ 协程功能展开思考。我阅读了 Kenny 的文章 ( C++ - Introducing C++/WinRT ) 并尝试观看此演示文稿,CppCon 2016:James McNellis “C++ 协程简介”。我一直看到没有某种形式的 return 语句的非 void“函数”。作为一个例子,请参阅 Kenny 文章中的以下代码示例。PrintFeedAsync函数/协程具有IAsyncAction返回类型,但定义中没有返回语句。有人能解释一下这是如何工作的吗?
IAsyncAction PrintFeedAsync()
{
Uri uri(L"http://kennykerr.ca/feed");
SyndicationClient client;
SyndicationFeed feed = co_await client.RetrieveFeedAsync(uri);
for (SyndicationItem item : feed.Items())
{
hstring title = item.Title().Text();
printf("%ls\n", title.c_str());
}
}
int main()
{
initialize();
PrintFeedAsync().get();
}