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";
    }
}

Этот кодекс работает, но я все еще ищу более элегантное решение.

Спасибо!

0 ответов

Другие вопросы по тегам