【发布时间】:2012-02-22 07:38:41
【问题描述】:
这是这个问题的后续:Generic functor for functions with any argument list
我有这个函子类(完整代码见上面的链接):
template<typename... ARGS>
class Foo
{
std::function<void(ARGS...)> m_f;
public:
Foo(std::function<void(ARGS...)> f) : m_f(f) {}
void operator()(ARGS... args) const { m_f(args...); }
};
在operator() 中,我可以使用in Stroustrup's C++11 FAQ 所述的递归“剥离”函数轻松访问args...
我的问题是:我想在构造函数中访问 f 的参数类型,即ARGS...。显然我无法访问值,因为到目前为止还没有,但是参数类型列表不知何故被埋在f 中,不是吗?
【问题讨论】:
标签: c++ c++11 function-pointers functor variadic-templates