可能重复:
“unpacking” a tuple to call a matching function pointer
我构建一个闭包对象来包装一个函数及其参数,以创建零参数的仿函数:
template<typename Function, typename... Args>
struct closure
{
closure(Function f, Args... args)
: f(f),args(args...)
{}
void operator()()
{
// call f using the tuple's elements as arguments
apply_from_tuple(f,args);
}
Function f;
std::tuple<Args...> args;
};
构建函数apply_from_tuple
的最简洁方法是什么?