C++:矢量的矢量
C++: Vector of vectors
本文关键字:C++ 更新时间:2023-10-16
我需要创建一个向量的向量(精确地说是3个向量的矢量)。每个组成向量都具有不同的数据类型(String、double、用户定义的数据类型)。这在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;
在我的opnion中,结构或类是最好的方法,也是最优雅的解决方案。
这就是你的意思吗?
vector<tuple<vector<string>, vector<double>, vector<T> > >
相关文章:
- 没有找到相关文章