为什么下面的代码块重复打印出“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;
}
推回是否将其放入必须通过迭代器访问的随机内存中?在查看向量时总是使用迭代器会更好吗?