Как объявить и использовать в Qt двумерный целочисленный массив (GUI)?

Я хотел создать двумерный целочисленный массив в заголовочном файле моего приложения QT GUI с 2 столбцами и еще не определенным (а следовательно, динамическим) числом строк.

Пока у меня есть это: сделать динамический массив

QVector <qint8> ArrayName;

Могу ли я использовать его как 2D-массив или нет? И как бы я назвал определенную строку в определенном столбце позже? например ArrayName[40][2] ?

0

Решение

Можно создать 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
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]