C ++中的这个陈述是什么意思。我通过阅读关于类型列表来看到。
我不明白运营商“>”在typelist中代表什么?到目前为止,我从未在C ++模板中使用过它?
template
struct typelist
{
typedef H head;
typedef T tail;
};
typedef typelist > >
floating_point_types;
感谢您的一些简短解释! ¿这是可变参数模板吗?
答案 0 :(得分:5)
代码片段看起来不对。从名称和上下文我猜测它的意思是这样的:
template <typename H, typename T>
struct typelist
{
typedef H head;
typedef T tail;
};
typedef typelist<float, typelist<double, long double> >
floating_point_types;
原始代码就好像它被粘贴到HTML文档中一样,因此具有'&lt; ...&gt;'的序列除去。
当然,使用C ++ 2011,我们不需要做这样的事情。我们可以只使用可变参数模板:
template <typename... T> struct typelist {};
typedef typelist<float, double, long double> floating_point_types;