1

不能用谷歌搜索,所以只是在寻找一个快速的答案。这个语法是什么意思,它是标准的 C++ 吗?

template <class ...Options>
class list_base_hook;

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

4

2 回答 2

10

这是一个可变参数模板,它是新 C++11 标准的一部分。

于 2012-12-17T13:48:38.657 回答
2

在 C++11 中,它是可变参数模板参数

Boost 也将这种语法用于 C++03 中的“伪变量”模板——这意味着它是一组具有默认值的类型名。与 C++11 的可变参数不完全相同。像这样:

template <class opt1 = dummy, class op2 = dummy, class op3 = dummy, /* and so on up to a large N */>
class list_base_hook;
于 2012-12-17T13:49:44.713 回答