我想知道新的c++特性std::async
是否与C#中的两个关键字async/await非常相似,如果不是,为什么?
我想知道新的c++特性std::async
是否与C#中的两个关键字async/await非常相似,如果不是,为什么?
如果我正确理解了这个std::async文档,那么不是真的.
C# 5的async/await特性涉及异步方法的复杂编译器转换,使得您可以编写看起来几乎同步但仍存在异步点的代码。编译器为你构建状态机,创建适当的回调等。
编辑:尽管我以前认为std::async
只是强制你显式地传递回调函数,但它似乎比这更原始一些。无论如何,我相信它大多数/完全是一个库特性,而C# 5的异步方法主要是具有库支持的语言特性。
编辑:如评论中进一步指出的那样,看起来VC++也在朝这个方向发展...
await
特性的确切语法:await_emu
。 - Evgeny Panasyuk