输出结果总是多10个0,不知道咋回事,帮忙看一下吧

输出结果总是多10个0,不知道怎么回事,帮忙看一下吧#include iostream#include string#include vector

输出结果总是多10个0,不知道怎么回事,帮忙看一下吧
#include <iostream>
#include <string>
#include <vector>
using namespace std;


int main()
{
vector<int> ivec1(10);
int ivec2[10]={1,2,3,4,5,6,7,8,9,10};
for(int i=0;i<10;i++)
cin>>ivec2[i];
for(vector<int>::size_type ix=0;ix<10;ix++)
ivec1.push_back(ivec2[ix]);
for(vector<int>::iterator iter=ivec1.begin();iter!=ivec1.end();++iter)
cout<<*iter<<" ";
}

[解决办法]
vector<int> ivec1(10);//已经有10个元素了
ivec1.push_back(ivec2[ix]);//又添加10个
所以前面会多出10个0
[解决办法]

C/C++ code
#include <iostream>#include <string>#include <vector>using namespace std;int main(){vector<int> ivec1(10);  // 初始化十个元素为0了int ivec2[10]={1,2,3,4,5,6,7,8,9,10};for(int i=0;i<10;i++)cin>>ivec2[i];cout<<ivec1.size()<<endl; // 这里输出ivec1的长度,已经为10了ivec1.clear();            // 可以加这句或者ivec(10)改成去掉(10)for(vector<int>::size_type ix=0;ix<10;ix++)ivec1.push_back(ivec2[ix]);for(vector<int>::iterator iter=ivec1.begin();iter!=ivec1.end();++iter)cout<<*iter<<" ";return 0;}
[解决办法]
10个0就出在这里:vector<int> ivec1(10);
构造了一个10个0的vector容器
后来你又往里面添加了10个输入元素
输出时就是10个0加上10个输入数了