我有一个搜索某些数据的函数并返回一个向量:
vector<int> findMyData(int byID)
{
vector<int> tempVect;
// do some search...
for ( each data found )
tempVect.push_back( the data );
return tempVect;
}
现在我必须重复搜索x行和y列,所以我最终得到了一个二维矢量数组。如果我说它很可能是一个三维向量,我是否正确?
示例:
vector<vector<vector<int>>> myDatabase;
第一个索引应该是行,第二个索引应该是列,x / y点包含的数据是我的函数返回的向量,所以第三个索引是I&#39; ll读取的数字。故事结束......
那么,我该如何填充数据库?
for (int x=0; x<100; ++x)
for (int y=0; y<50; ++y)
myDatabase .... <-- what's the correct syntax to fill this vector?
答案 0 :(得分:0)
如果我理解你的问题,答案是:
myDatabase[x][y]
这也可以扩展到更多维度:
myDatabase[x][y][z][w][a][b][c]...
答案 1 :(得分:0)
您可以这样做:
std::vector<std::vector<std::vector<int>>> myDatabase(100, std::vector<std::vector<int>>(50));
for (int x=0; x<100; ++x) {
for (int y=0; y<50; ++y) {
myDatabase[x][y] = findMyData(getId(x, y));
}
}