C ++语法 - template <class ... options =“”> </class>

时间:2012-12-17 13:46:57

标签: c++ templates

不能谷歌这个,所以只是寻找一个快速的答案。这个语法意味着什么,它是标准的C ++?

template <class ...Options>
class list_base_hook;

代码来自boost库。 http://www.boost.org/doc/libs/1_52_0/doc/html/intrusive/usage.html

2 个答案:

答案 0 :(得分:10)

这是variadic template,它是新C ++ 11标准的一部分。

答案 1 :(得分:2)

在C ++ 11中,它是variadic template parameter

Boost也使用C ++ 03中“psuedo-variadic”模板的语法 - 这意味着它是一个带有默认值的束类型名称。与C ++ 11的可变参数不完全相同。像这样:

template <class opt1 = dummy, class op2 = dummy, class op3 = dummy, /* and so on up to a large N */>
class list_base_hook;