dan*_*ani 3 c++ variadic-templates c++17
我有一个在可变参数模板类中给出的参数包,并希望提取第一个类型.
目前我这样做,工作正常,但有点麻烦.有可能做同样的事情更简单吗?FirstEntityType应定义为具有第一种类型的类型EntityTs.注意,我想保留类模板的签名.我知道写作是可能的template<typename FirstEntityType, typename... OtherEntityTypes>,但这是我不想做的事情.
template<typename... EntityTs>
class EntityContext
{
template<typename T, typename ... Ts>
struct K {
using type = T;
};
using FirstEntityType = typename K<EntityTs...>::type;
// ...
}
Run Code Online (Sandbox Code Playgroud)
Bar*_*rry 16
你可以写:
using FirstEntityType = std::tuple_element_t<0, std::tuple<EntityTs...>>;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1753 次 |
| 最近记录: |