利用mutable生成一个计数器
auto make_counter = [](int start) {return [start]() mutable { return start++; }; // mutable允许修改捕获的副本
};
auto counter = make_counter(0);
std::cout << counter(); // 0
std::cout << counter(); // 1
泛型Lambda(C++14+)
支持auto
参数,适配多种类型:
auto print = [](const auto& arg) { std::cout << arg; };
print(42); // 输出int
print("lambda"); // 输出const char*