我想创建一个向量的向量,其中单个向量可以是不同类型,具体操作如下:
std::vector<int> v1;
std::vector<float> v2;
std::vector<double> v3;
std::vector<SomeType> all;
all.push_back(v1);
all.push_back(v2);
all.push_back(v3);
在这种情况下,SomeType
应该是什么?
我的实际应用场景:
我有不同数据类型的向量,需要将它们写入磁盘。每次添加一个列到数据集时,我不想在各个不同的地方指定该列。我希望可以轻松地遍历列。
std::variant
是一个C++标准库中的容器类,它可以存储多种类型的值,但每次只能存储其中一种类型。使用std::variant
可以避免手动维护多个不同类型的变量或指针。关于您所需要解决的真正问题,我很好奇。您认为为什么需要这样一个向量? - Some programmer dudeall[1]
返回到std::vector<float>
? - Botjestruct Row { int a; float x; double price; }; std::vector<Row> all;
。 - Caleth