类型列表是否已被可变参数模板完全替代?

6

我正在阅读《现代C++设计》一书,想到类型列表结构可以被可变参数模板所替代。两者似乎都依赖于递归来分别处理列表中的第一个类型和其余部分。那么,类型列表能做到的事情,可变参数模板不能吗?

1个回答

11

Typelists可以让您做一些事情。例如,您无法将可变参数包作为元函数的结果 - 没有办法表达这样的内容:

template <typename... Args>
struct argpack_id {
    typedef Args result;
};
你可以使用typelist来实现这一点。
另一方面,你应该将typelist本身实现为
template <typename... Args>
struct TypeList {};

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接