std::invoke是C++17中引入的一个函数模板,位于<functional>头文件中。它用于调用可调用对象(函数、函数指针、成员函数、成员函数指针等)并返回结果。
std::invoke
<functional>
std::invoke的作用是提供一种通用的方式来调用可调用对象,无论其类型是什么。它可以处理任何可调用对象,并且可以自动推导参数类型。这使得代码更加通用和灵活,同时避免了重复编写代码以处理不同类型的可调用对象的问题。