vector的迭代器能不能用for循环访问??

vector的迭代器能不能用for循环访问??

it = xxx.begin();
for(i = 0; i < count; ++i)
{
    ......
    ++it;
}

这样访问,会不会有什么隐患发生,而且确实发生了。
it->crc的值在gdb值看是废值。
我用count来限定it的访问范围,而且这个count只可能比容器的大小小,而不会别它大。
这样比
it != xxx.end()
来访问,是不是会不安全呢??

阅读 4.6k
3 个回答

如果你的count等于xxx.size(),没啥大区别,也不会不安全。但问题是你干嘛要这样做呢?要么就只用xxx.at(i)来访问不用iterator;要么纯用iterator来访问

直接用it != xxx.end()来控制不是更好,不必再定义新的变量count来操作

要不就范围for循环或者迭代器?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题