在使用C++ lambda表達式時,如果需要在lambda函數體內捕獲外部變量,有幾種最佳實踐方法:
int x = 10;
auto lambda = [x]() { std::cout << x; }; // 按值捕獲
auto lambda = [&x]() { std::cout << x; }; // 按引用捕獲
auto lambda = [&x]() mutable { x++; }; // 按引用捕獲且可變
int x = 10, y = 20;
auto lambda = [x, y]() { std::cout << x + y; };
int x = 10, y = 20;
auto lambda = [x, y]() -> int { return x + y; };
通過以上最佳實踐方法,可以更好地使用C++ lambda表達式來捕獲外部變量,使代碼更加清晰和易于理解。