1

刚开始学习STL,这是第一个问题:

  vector<int> vec1;

for(int i = 1; i <= 100; i++)
{
    vec1.push_back(i);
    cout << vec1[i] << endl;
}

如您所见,我想将变量i推回向量vec1但输出为:

5832900
-319008141
0

ETC...

Process returned 0 (0x0)   execution time : 0.210 s
Press any key to continue.

感谢一切。

4

2 回答 2

3

您向后推,但打印出 item[i],它是结束后的一个(i 从循环中的一个开始)。

vector<int> vec1;

for(int i = 0; i < 100; i++)
{
    vec1.push_back(i+1);
    cout << vec1[i] << endl;
}
于 2012-10-29T20:41:57.750 回答
1

您每次都在矢量末尾打印一个。这将是您的代码的正确版本:

for(int i = 0; i < 100; i++)
{
    vec1.push_back(i+1);
    cout << vec1[i] << endl;
}
于 2012-10-29T20:42:41.603 回答