C++ lambda捕获可以修改值吗

avatar
作者
筋斗云
阅读量:0

是的,C++ lambda捕获可以修改捕获的值。 Lambda可以捕获外部作用域的变量并修改它们的值,但默认情况下是以传值的方式捕获的,因此如果想要修改捕获的值,需要使用引用捕获。例如:

#include <iostream>  int main() {     int x = 10;          auto lambda = [&x]() {         x = 20;     };          lambda();          std::cout << x << std::endl; // 输出 20          return 0; } 

在这个例子中,lambda捕获了变量x的引用,并修改了它的值为20,因此在lambda执行后,x的值变为20。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!