【问题标题】:Push_back a variable to vector将变量推回向量
【发布时间】:2012-10-19 05:16:37
【问题描述】:

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

  vector<int> vec1;

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

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

5832900
-319008141
0

等等……

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

谢谢你。

【问题讨论】:

  • 数组从 0 开始,而不是 1。无论如何,std::iota 是一个很好的候选者。

标签: c++ vector push-back


【解决方案1】:

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

vector<int> vec1;

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多