QVector
値を2 次元配列として宣言、初期化、および割り当てるにはどうすればよいですか?
26961 次
2 に答える
9
ネストされたベクトルを回避するために、少なくともx座標の上限である(一定の)「幅」がある場合は、2Dインデックススペースを1Dインデックススペースにマップできます。
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 に答える
9
と同じ方法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 に答える