faustismarck
2017-09-20 13:22
采纳率: 100%
浏览 1.4k

c++通过迭代器输出vector对象有异常

#include
#include
#include
#include
using namespace std;
int main()
{
vector a(10,1);
/*int b;
while(cin>>b)
a.push_back(b);*/
for (auto d=a.begin();d!=a.end();++d){
d=2;
cout << *d <<" ";}
cout<<endl;
return 0;
}
如果加上中间被注释掉的那段,输出会先输出10个2,然后输出输入个数的正常结果,求教为什么?为什么不是输出没有被push_back的数运算得到的2,然后是输入的数计算的结果?

2条回答 默认 最新

相关推荐 更多相似问题