将元组成员包装在其他模板化类型中

wrapping tuple members in other templated types

我希望能够用模板包声明一个 class,这样 class 本身就会有一个成员变量元组,将每个模板包成员包装在一个某种容器类型。基本目标如下:

template <typename Types...>
class VectorOfMembers 
{
public:
    // Member tuple where each element is expanded in a container
    std::tuple<std::vector<Type[1]>, std::vector<Type[2]>, std::vector<TypeN...>>
};

理想情况下,我也希望能够将任何模板化对象作为包装类型来执行此操作。

好吧,你几乎成功了:

template <typename... Types>
class VectorOfMembers
{
public:
    // Member tuple where each element is expanded in a container
    std::tuple<std::vector<Types>...> tuple;
};