lamda表达式(匿名函数)

auto func = [&](int x) -> int{ ... };

  • auto
    lambda的类型是编译器生成的独一无二的匿名类型,无法直接写出,所以用auto让编译器自动推断func的类型
  • [&]
    捕获列表,表示以引用方式捕获外部作用域的所有变量。这样在lambda内部就可以直接使用外部变量,并且对它们的修改会反映到外部
  • (int x)
    参数列表,这个lambda接受一个int类型的参数x
  • -> ll
    尾置返回类型,指定这个 lambda 的返回类型为 ll.如果函数体足够简单,编译器也可以自动推导返回类型,但这里显式指定了

很显然非常适用于局部函数的场景

posted @ 2026-03-06 18:11  JimmyCoder  阅读(1)  评论(0)    收藏  举报