C ++ 11这行代码有什么作用?

时间:2014-03-03 22:32:27

标签: c++ c++11

我正在浏览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...)>

课程名称后做了什么?

1 个答案:

答案 0 :(得分:8)

class function<Re_t(Args...)>定义模板化类function<T>的部分特化。基本上,这允许您以仿函数的形式编写专业化,例如:

function<int(double,unsigned)> foo = ...

请注意,由于使用Args...,您可以拥有可变数量的参数。