Lambda表达式二例

利用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*
posted @ 2025-03-15 21:39  云山漫卷  阅读(9)  评论(0)    收藏  举报