不能谷歌这个,所以只是寻找一个快速的答案。这个语法意味着什么,它是标准的C ++?
template <class ...Options>
class list_base_hook;
代码来自boost库。 http://www.boost.org/doc/libs/1_52_0/doc/html/intrusive/usage.html
答案 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;