在使用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表达式来捕获外部变量,使代码更加清晰和易于理解。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>