简体   繁体   English

C ++语法-范本<class …Options>

[英]C++ Syntax - template <class …Options>

Can't google this out so just looking for a quick answer. 不能用谷歌搜索出来,所以只是寻找一个快速的答案。 What this syntax means and is it standard C++? 这个语法是什么意思,它是标准的C ++吗?

template <class ...Options>
class list_base_hook;

The code is from boost libraries. 该代码来自boost库。 http://www.boost.org/doc/libs/1_52_0/doc/html/intrusive/usage.html http://www.boost.org/doc/libs/1_52_0/doc/html/intrusive/usage.html

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

In C++11 it's a variadic template parameter . 在C ++ 11中,它是一个可变参数模板参数

Boost uses that syntax for "psuedo-variadic" templates from C++03 too - meaning it is a bunch typenames with defaults. Boost也将这种语法用于C ++ 03中的“伪变量”模板-这意味着它是一堆带有默认值的类型名称。 Not exactly the same as C++11's variadics. 与C ++ 11的变量并不完全相同。 Like this: 像这样:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM