在使用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表达式来捕获外部变量,使代码更加清晰和易于理解。