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

   2024-10-07 5010
核心提示:是的,C++ lambda捕获可以修改捕获的值。 Lambda可以捕获外部作用域的变量并修改它们的值,但默认情况下是以传值的方式捕获的,

是的,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。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号