QList<QList <int>> из 2D std::array
В настоящее время я работаю с Qt и хочу преобразовать 2-мерный std::array (120 на 160) в 2-мерный QList. В настоящее время мое решение состоит в том, чтобы создать пустой 1-мерный QList, добавить к нему 0 120 раз, создать 2-мерный QList и добавить в него 1-мерный список 160 раз. Затем в цикле "Программа" я перебираю каждый элемент массива и устанавливаю соответствующую запись в 2-мерном списке QList. Это дает мне желаемый результат, но очень медленно и замедляет всю программу. Я думаю, что должен быть более быстрый способ достичь этого, верно?
int main(){
int raw[120][160];
for (int i = 0; i <120; i++){
for(int k = 0; k < 160; k++){
raw[i][k] = rand();
}
}
QList<QList<int> > matrix;
QList<int> eList;
for(int x = 0; x < 160; x++){
eList.append(0);
}
for(int x = 0; x < 120; x++){
matrix.append(eList);
}
while (true){
for(int x = 0; x < 120; x++){
for(int y = 0; y < 160; y++){
matrix[x][y] = raw[x][y];
}
}
cout << "ping";
}
}
Этот кодекс работает, но я все еще ищу более элегантное решение.
Спасибо!