Я хотел создать двумерный целочисленный массив в заголовочном файле моего приложения QT GUI с 2 столбцами и еще не определенным (а следовательно, динамическим) числом строк.
Пока у меня есть это: сделать динамический массив
QVector <qint8> ArrayName;
Могу ли я использовать его как 2D-массив или нет? И как бы я назвал определенную строку в определенном столбце позже? например ArrayName[40][2]
?
Можно создать QVector<QVector<qint8>>
, но я бы предпочел не идти туда: это громоздко и не очень эффективно. Я бы просто сложил измерения в одномерный массив:
const int NUMBER_OF_COLUMNS = 2;
QVector<qint8> data;
...
data.resize(numberOfRows * NUMBER_OF_COLUMNS);
...
// Get (row, column):
const qint8 v = data[row*2+column]; // column being 0 or 1
Других решений пока нет …