这是什么语法? C ++

时间:2017-02-17 03:58:39

标签: c++ c++11 syntax

在这个问题中: https://codereview.stackexchange.com/questions/14730/impossibly-fast-delegate-in-c11 在c ++中显示委托的实现,这是什么语法:

template<class R, class ...A>
 class delegate<R (A...)> // <--- Argument wrapping of some kind?

这会变成另一种类型吗?我以前从未见过这个,所以我无法解析它应该做的事情。

1 个答案:

答案 0 :(得分:2)

这是函数的模板特化。

template <class T>
struct func;

template <class R, class... A>
struct func<R (A...)>
{

};

如果使用函数签名实例化模板,将调用专门化。例如:

func<void(int)> f1;
func<int(int, int)> f2;