C++11 引入了 lambda 表达式,它是一种便捷的创建匿名函数对象的方式。然而,由于 C++ 的限制,lambda 表达式不能直接访问其所在作用域中的所有变量。为了解决这个问题,可以使用 std::function 或模板来传递变量给 lambda 表达式。
std::function
以下是一个使用 C++11 lambda 的最佳实践案例:
假设我们有一个函数 process,它接受两个整数参数 a 和 b,并返回它们的和:
process
a
b