请检查下面的代码:
NodeScheduleLambda(this, 0.01f, [=]
{
this->removeFromParentAndCleanup(true);
});
Run Code Online (Sandbox Code Playgroud)
那里面的“[=]”是什么意思呢。有谁可以帮帮我吗,谢谢...
lambda 是一种未命名/匿名函数,由于其代码片段很短,因此在编程中很有用。
C++ 中的 lambda 函数定义如下
[]() { }
Run Code Online (Sandbox Code Playgroud)
[]是捕获列表、()参数列表和{}函数体。
捕获列表定义了 lambda 外部的内容应在函数体内可用以及如何可用。它可以是:
您使用第四个捕获列表传递 lamda 函数作为第三个参数。
NodeScheduleLambda(this, 0.01f, [=]{ this->removeFromParentAndCleanup(true); });
Run Code Online (Sandbox Code Playgroud)
它不是特定于 coco2d 的。
这是一个 lambda 捕获列表。使变量可用于 lambda。您可以使用按值复制的 [=],或按引用传递的 [&]。
您还可以使用 [] 来捕获任何内容。
更多详细信息:https://msdn.microsoft.com/library/dd293608.aspx
| 归档时间: |
|
| 查看次数: |
2964 次 |
| 最近记录: |