<分区>
假设我会使用 Lamdba 函数来定义函数内的函数以更好地构建代码,在什么情况下有人可能更喜欢第二个选项而不是第一个选项,因为后者显然不太可重用,因为不能传递不同的参数?
int main() {
int foo = 1;
int bar = 4;
//Passing as Parameters
auto add = [](auto a, auto b) {
return a + b;
};
std::cout << "Add: " << add(foo, bar) << std::endl;
//Capturing by value
auto multiply = [=]() {
return foo * bar;
};
std::cout << "Multiply: " << multiply() << std::endl;
return 0;
}