2015-12-06 3 views
0

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

До сих пор я получил это: сделать динамический массив

QVector <qint8> ArrayName; 

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

ответ

1

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