【发布时间】:2015-12-29 04:35:53
【问题描述】:
有人可以向我解释一下这段代码中“=”参数的用途吗?
我可以使用哪些其他参数来代替=?它会有什么不同? MSDN 对这个主题不是很清楚。
//Declaration
auto prerequisite = task<void>([](){});
//Here is where I don't understand the '=' parameter
prerequisite.then([=](task<void> prerequisite){/*custom code goes here*/})
【问题讨论】:
-
这是一个 lambda,不是吗? Lambda syntax.
-
我相信 lambda 只是参数的类型名称......但话又说回来,我不完全确定。
-
'=' 基本上是 lambda 捕获子句 - 这意味着对象将在 lambda 生成的结果函数对象类中按值传递
-
谢谢普拉瓦!!!!现在我明白了,这是一个非常酷的概念。
标签: c++ windows concurrency task ppl