vector使用误区(迭代器遍历)
请看图片
![请看图片](https://i-blog.csdnimg.cn/blog_migrate/9f44d827d4de64f94ef4890f501ada61.png)
上面程序正常编译不会报错,但运行时会提示 段错误 (核心已转储)
错误原因在于for循环使用迭代器遍历输出部分(for循环第一个条件)
正确写法为:vector<int>::iterator i; for(i=V.begin();i!=V.end();i++)
修改以上两句即可.
原因解释:
for ( init; condition; increment )
{
statement(s);
}
init为for循环的初始化部分,应该在内部初始化。