Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
查看此示例 lambda:
[](int factor)->int{return factor*factor;}
谁能向我解释一下C++11 lambda 表达式前面的方括号有什么用?
方括号指定 lambda “捕获”哪些变量,以及如何(按值或引用)。
捕获意味着您可以从 lambda 内部引用 lambda 外部的变量。如果按值捕获,您将在创建 lambda 时获取变量的值——类似于按值将参数传递给函数。如果通过引用捕获,您将引用 lambda 之外的实际变量(并且您需要确保它保持在范围内)。
请注意,在类中,您可以捕获“this”,然后像在类方法中一样调用类方法。