cpp 中"[=]"的含义是什么

What is meaning of "[=]" in cpp

本文关键字:是什么 cpp      更新时间:2023-10-16

请在下面检查此代码:

NodeScheduleLambda(this, 0.01f, [=]
{
    this->removeFromParentAndCleanup(true);
});

这是" [=]"的含义。任何人都可以帮助我吗?谢谢...

lambda是一个未命名/匿名函数,由于代码的简短片段而在编程中很有用。

lambda功能在C 中定义为

[]() { }

[]是捕获列表,()参数列表和{}功能主体。

捕获列表定义了从lambda的外部进行的,应在功能主体内部可用。可以是:

  • 一个值:[x]
  • 参考[& x]
  • 当前通过参考[&]
  • 当前中的任何变量
  • 与第三类相同,但按值[=]

您使用第四个捕获列表将LAMDA函数作为第三个参数。

NodeScheduleLambda(this, 0.01f, [=]{ this->removeFromParentAndCleanup(true); });

这不是Coco2d。

这是lambda捕获列表。使变量可用于lambda。您可以使用[=]以值复制的[=],也可以使用[&]通过参考。

您也可以使用[]任何捕获。

更多详细信息:https://msdn.microsoft.com/library/dd293608.aspx