首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在"for“语句中,我应该使用`!=`还是`<`?

在"for“语句中,我应该使用`!=`还是`<`?
EN

Stack Overflow用户
提问于 2011-11-18 14:12:20
回答 6查看 2K关注 0票数 53

我已经看到了这两个语句:

代码语言:javascript
复制
for(i=0;i<10;i++) 

for(i=0;i!=10;i++)

我知道当我到达10时,它们都停止了,但使用第二个似乎更好(我听说)。我还想知道在使用迭代器访问向量的成员时,迭代器条件< vec.end()!= vec.end()有什么不同

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-11-18 14:15:21

代码语言:javascript
复制
for(i = start; i != end; ++i)

这是“标准”迭代器循环。它的优点是可以同时使用指针和标准库迭代器(您不能依赖定义了operator<的迭代器)。

代码语言:javascript
复制
for(i = start; i < end; ++i)

这不适用于标准库迭代器(除非它们定义了operator< ),但它的优点是,如果出于某种原因超过end,它仍然会停止,所以它稍微安全一些。我被教导在迭代整数时使用这种方法,但我不知道这是否真的被认为是“最佳实践”。

我通常更倾向于使用<来编写这些代码。

票数 74
EN

Stack Overflow用户

发布于 2011-11-18 14:15:09

这两种方法在大多数情况下都有效。

如果由于某种原因,在循环中执行的代码体将i更改为大于10的值,则第一个版本将停止循环,但第二个版本将永远执行。

票数 12
EN

Stack Overflow用户

发布于 2011-11-18 14:47:10

我的日常实践是在使用简单类型(如整数)迭代循环时使用<,在使用stl类迭代器时使用!=

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8178463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档