在 C++14 中引入的泛型 lambdas,是一种成员模板的简化。
对于一个简单的计算两个任意类 型参数之和的 lambda。
[] (auto x, auto y) {
return x + y;
}
编译器会默认为它构造下面这样一个类:
class SomeCompilerSpecificName {
public:
SomeCompilerSpecificName(); // constructor only callable by compiler
template<typename T1, typename T2>
auto operator() (T1 x, T2 y) const
{
return x + y;
}
};