溫馨提示×

C++ lambda捕獲可以修改值嗎

c++
小樊
159
2024-07-05 18:56:19
欄目: 編程語言

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

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女