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