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

San*_*lin 0 c++ c++11

我正在浏览Nano信号插槽源代码,并希望它可以帮助我使用C++ 11在我的应用程序中实现信号和插槽功能,我遇到了一些我以前没见过的代码.

部分代码:

/* ... */

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...);

/* ... */
Run Code Online (Sandbox Code Playgroud)

进一步来说:

class function<Re_t(Args...)>
Run Code Online (Sandbox Code Playgroud)

课程名称后做了什么?

Mar*_*sen 8

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

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

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