次のコード ブロックが「40」を繰り返し出力するのはなぜですか。
vector<Square> array(81);
char c;
int d;
int i = 0;
for(c='A'; c<'J'; c=c+1)
for(d=1; d<10; d++)
array.push_back( Square(c, d));
for(int i = 0; i<81; i++)
cout << array[i].column << array[i].row << endl;
}
これは A1, A2, A3, .... , I9 と表示されます。
vector<Square> array(81);
char c;
int d;
int i = 0;
for(c='A'; c<'J'; c=c+1)
for(d=1; d<10; d++)
array[i++] = ( Square(c, d));
for(i = 0; i<81; i++)
cout << array[i].column << array[i].row << endl;
}
押し戻すと、イテレータを介してアクセスする必要があるランダムメモリに入れられますか? ベクトルを調べるときは常にイテレータを使用する方が良いですか?