如何将 aQVector
作为二维数组声明、初始化和赋值?
问问题
26961 次
2 回答
9
与 a 相同的方式std::vector
:
QVector< QVector< int > > twoDArray; // Empty.
QVector< QVector< int > > twoDArray( 2 ); // Contains two int arrays.
twoDArray[0].resize(4);
twoDArray[0][2] = 4; // Assign to the third element of the first array.
...
etc...
于 2012-10-08T07:11:56.187 回答
9
为了避免嵌套向量,您可以将 2D 索引空间映射到 1D 索引空间,至少如果您有一些(恒定的)“宽度”,即 x 坐标的上限:
int index(int x, int y) {
return x + width * y;
}
然后用它来索引一个大小的向量width * height
:
QVector<...> vector(width * height);
vector[index(5, 3)] = ...;
于 2012-10-08T09:55:39.633 回答