中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C++ lambda如何捕獲并修改捕獲變量

c++
小樊
89
2024-07-05 19:04:22
欄目: 編程語言

在C++中,lambda函數可以使用捕獲列表來捕獲外部變量,并且可以修改這些變量。捕獲列表通過方括號([])來指定,其中包含要捕獲的變量。要在lambda函數中修改捕獲的變量,需要使用mutable關鍵字。

以下是一個簡單的示例,演示了如何在C++ lambda函數中捕獲并修改捕獲的變量:

#include <iostream>

int main() {
    int x = 10;
    
    // Lambda function captures x by reference and modifies its value
    auto lambda = [&x]() mutable {
        x *= 2;
    };
    
    lambda(); // Call lambda function
    
    std::cout << "Modified value of x: " << x << std::endl;
    
    return 0;
}

在上面的示例中,lambda函數通過引用捕獲了變量x,并使用mutable關鍵字使得變量x可以在lambda函數中修改。在lambda函數中,我們將x的值乘以2。最后輸出修改后的x的值。

運行上面的代碼將輸出:

Modified value of x: 20

這表明lambda函數成功地捕獲并修改了變量x的值。

0
阿克陶县| 安阳市| 舞钢市| 调兵山市| 贵港市| 循化| 遂川县| 炉霍县| 阿克苏市| 齐齐哈尔市| 米林县| 板桥市| 福鼎市| 遂川县| 满城县| 巴南区| 峨眉山市| 十堰市| 博兴县| 兰坪| 阳谷县| 额尔古纳市| 中卫市| 天台县| 德格县| 化隆| 三门峡市| 乌鲁木齐市| 大兴区| 奉贤区| 福清市| 阳信县| 民丰县| 山西省| 崇礼县| 林西县| 大埔区| 大邑县| 临沭县| 扎鲁特旗| 襄垣县|