C++ Weekly - Episode 152 脱水版: The Key to Understand Lambda

51 阅读1分钟

C++ Weekly - Episode 152 脱水版: The Key to Understand Lambda

理解 Lambda 的关键

作者讲了很多关于 lambda 表达式的内容. 这一集主要阐述如何去理解 lambda 表达式.

要理解 lambda 表达式, 需要掌握以下几个关键点.

  • classes
  • objects
  • member functions
  • operator overloading
  • const
  • mutable
  • constexpr
  • noexcept
  • return type deduction
  • trailing return types
  • templates
  • auto
  • template deduction rules
  • variadic templates
  • fold expresssions
  • RVO
  • NRVO
  • IIFE IILE
  • ODR used
  • compile-time context
  • constructability

这里有个例子可以参阅:

constexpr auto l = [](auto ... k) -> int {
    return (k + ...);
};

int main()
{
    return l(1);
}

Note: 作者有一个关于 lambda 表达式的系列视频可以参见.