The std::invoke function in the C++ standard library is usually used to call a functor with parameters. std::function func = ...; // same as func(42) std::invoke(func, 42); What std::invoke brings to the table is that you can use it for other things beyond just functors.