Q
玩弄参数
7
A
回答
2
这是一种合法的方式,但在可读性方面使用i--
作为for循环中的条件是一个糟糕的主意。
for循环意味着由3部分组成 - 为什么让人们生活更难?
人谁看了你的代码会很高兴,如果你坚持传统for
循环:
for (int i = v.size() - 1; i >= 0; i--) {
///Stuff.
}
4
人们可以把一个for
循环
for (<decl-init> ; <condition> ; <post-adjust>) <body>
作为大致相当于这个while
循环:
<decl-init>;
while (condition) {
<body>;
<post-adjust>;
}
The for
与上面重写的最大区别在于<decl-init>
块中声明的变量范围,但这对于下面的分析并不重要。
重写两个循环的循环while
给你这样的:
int i = v.size() - 1;
while (i >= 0) {
<body>;
i--;
}
与
int i = v.size();
while (i--) {
<body>;
}
正如你所看到的,唯一的区别是i
在进入迭代之前递减,并该条件开始于i
比第一个循环大1
。这两个调整“相互抵消”,从技术角度来看,您的循环等同。然而,美学是一个不同的事情:副作用的条件比“纯”的条件更难理解,所以第一个循环更具可读性。
相关问题
- 1. 玩弄内置函数
- 2. 玩弄C#加密
- 3. 在Rails中玩弄邮件
- 4. 玩笑,戏弄不工作
- 5. 与JBoss 6.1.0玩弄随着版本
- 6. 玩弄jQuery对象和变量
- 7. 用动态编程玩弄棋盘格
- 8. 如何嘲弄与开玩笑
- 9. 检索调用统计与玩弄
- 10. 玩! Eclipse无效的参数
- 11. 从玩家对象创建参数
- 12. 玩!框架模板参数组
- 13. 玩多个参数的框架路由
- 14. Scala玩弄新的项目依赖关系?
- 15. 如何玩弄识别依赖库的日志输出
- 16. 渲染组件开玩笑测试用嘲弄
- 17. 制作美丽的汤玩弄手柄吧
- 18. 团队成员玩弄不同角色时使用SCRUM吗?
- 19. angularjs - 玩弄angular-bootstrap-lightbox和它给我一个类型错误
- 20. 帮我弄两个同名的分支第三方dll好玩
- 21. 直接编辑.class文件,玩弄操作码
- 22. 我喜欢这个模板的设计理念,我玩弄
- 23. 如何获得一个示例数据库来玩弄phpMyAdmin上的SQL?
- 24. 如何嘲弄与视图边界的函数作为参数
- 25. 无法弄清楚如何返回函数参数值
- 26. 使用Moq嘲弄库函数参数使用Moq
- 27. Primefaces的数据表,整理弄乱了提交参数
- 28. “嘲弄”bash函数
- 29. RecyclerView弄乱指数
- 30. 玩scss函数
1)基准它看到没有区别。2)比较生成的程序集并验证没有什么实质性差异。 –
@JonathonReinhart因为在循环条目之前检查条件,所以不需要删除'-1'。 – dasblinkenlight
你知道你可以使用reverse_iterators来做这件事吗? –