通用 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");