C ++:向量的向量

问题描述

| 我需要创建向量的向量(精确地说是3个向量的向量)。每个组成向量具有不同的数据类型(字符串,双精度,用户定义的数据类型)。这在C ++中可行吗?如果没有,是否还有其他优雅的方式可以实现我的要求?     

解决方法

        如果您知道其中的三个,并且知道它们的类型,为什么不只写一个类呢?
class Data
{
    std::vector<std::string> _strings;
    std::vector<double> _doubles;
    std::vector<UserDefined> _userDefined;
public:
    // ...
};
这也将提供一些强大的语义(在我看来,无关紧要的向量似乎很奇怪)。     ,        
template<typename T> struct inner_vectors {
    std::vector<double> double_vector;
    std::vector<std::string> string_vector;
    std::vector<T> user_vector;
};

std::vector<inner_vectors<some_type>> vector_of_vectors;
    ,        在我看来,结构或类是最好的方法,也是最优雅的解决方案。     ,        你是这个意思吗?
vector<tuple<vector<string>,vector<double>,vector<T> > >