灵感来自于此.
假设我们有一个非空的std::vector<T> v;
是否有任何区别
for (int i = v.size() - 1; i >= 0; i--) {
///Stuff.
}
Run Code Online (Sandbox Code Playgroud)
和:
for (int i = v.size(); i--; ) {
///Stuff.
}
Run Code Online (Sandbox Code Playgroud)
?
我的意思是,出于可读性考虑,我不会这样做,但是谁知道生活中有用的东西......
(这里只是一个测试,看它们是等价的)
编辑:要点是i向后访问向量的索引(在索引优于迭代器的情况下)
这是一种合法的做法,但i--在 for 循环中用作条件在可读性方面是一个糟糕的主意。
for 循环由 3 部分组成 - 为什么让人们生活得更艰难?
如果你坚持传统的for循环,阅读你的代码的人会很高兴:
for (int i = v.size() - 1; i >= 0; i--) {
///Stuff.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |