Я хочу определить вектор с 20 строками и 4 столбцами, элементами которого является вектор с переменным размером, как это
result={
{1,2,3},{5,4},{1},{10,15,16}
{5},{1,2},{1,2,3},{1,4,5,6}
...
}
Результат сначала пуст …
какая-то часть моего кода написана ниже, и «результат» обновляется, если условие выполняется
for(int i=0;i<20;i++){
hash_1=hash_images[i];
for(int j=i+1;j<20;j++){
hash_2=hash_images[j];
dis=hammingDist(hash_1.c_str(),hash_2.c_str());
for(int t=0;t<4;t++){
if (dis<=t){
? result[i][t].push_back(somthing);
}
}
}
}
Определите трехмерный вектор следующим образом:
vector<vector<vector<sth>>> S;
S.resize(20);
for (i=0 to 19)
S[i].resize(4);
Затем в главном цикле вы можете изменить размер третьего измерения для каждого значения после расчета:
for(j=0 to 19)
for(m=0 to 3){
//your calculation
k=S[j][m].size();
S[j][m].resize(k+1);
S[j][m][k]=value;
}
Других решений пока нет …