我正在浏览Nano-signal-slot源代码,并希望它可以帮助我使用C ++ 11在我的应用程序中实现信号和插槽功能,并且我遇到了一些我以前从未见过的代码。 / p>
部分代码:
/* ... */
template <typename Re_t> class function;
template <typename Re_t, typename... Args>
class function<Re_t(Args...)>
{
void *m_this_ptr;
Re_t(*m_stub_ptr)(void*, Args...);
/* ... */
更具体地说:
class function<Re_t(Args...)>
课程名称后做了什么?
答案 0 :(得分:8)
class function<Re_t(Args...)>
定义模板化类function<T>
的部分特化。基本上,这允许您以仿函数的形式编写专业化,例如:
function<int(double,unsigned)> foo = ...
请注意,由于使用Args...
,您可以拥有可变数量的参数。