通用 lambda(C14)
Version >= C++ 14
C++ 14 允许在 lambda 参数中使用 auto
auto print = [](const auto& arg) { std::cout << arg << std::endl; };
print(42);
print("hello world");
那个 lambda 大多相当于
struct lambda {
template <typename T>
auto operator ()(const T& arg) const {
std::cout << arg << std::endl;
}
};
然后
lambda print;
print(42);
print("hello world");