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 表达式的系列视频可以参见.