将每种类型包装在模板类中的可变参数模板中

Wrapping each type in a variadic template in a templated class(将每种类型包装在模板类中的可变参数模板中)

本文介绍了将每种类型包装在模板类中的可变参数模板中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给定一个可变参数模板 Types...,我想为包中的每个类型存储 A<>.这可以在 A<> 的元组中完成,但我需要以编程方式导出所述元组的类型.

Given a variadic template Types..., I would like to store A<> for each of the types in the pack. This could be done in a tuple of A<>'s, but I'd need to programmatically derive the type of said tuple.

在 c++11/14/17 中甚至可能发生这样的事情吗?

Is such a thing even possible in c++11/14/17?

template <class T> class A { };

template <class... Types>
class B
{
   // A tuple of A<>'s for each type in Types...
   std::tuple<A<Type1>, A<Type2>, ...> data;
};

推荐答案

只需:

template <class... Types>
class B
{
   std::tuple<A<Types>...> data;
};

这篇关于将每种类型包装在模板类中的可变参数模板中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:将每种类型包装在模板类中的可变参数模板中

基础教程推荐