【发布时间】:2017-08-08 21:44:36
【问题描述】:
我有一个可变参数模板类中给出的参数包,并且想要提取第一个类型。
目前我这样做,效果很好,但有点麻烦。是否可以更简单地做同样的事情? FirstEntityType 应该被定义为具有EntityTs 中第一个类型的类型。注意,我想保留类模板的签名。我知道可以写template<typename FirstEntityType, typename... OtherEntityTypes>,但是我不想这样做。
template<typename... EntityTs>
struct EntityContext
{
template<typename T, typename ... Ts>
struct K {
using type = T;
};
using FirstEntityType = typename K<EntityTs...>::type;
// ...
};
【问题讨论】:
标签: c++ variadic-templates c++17