大佬教程收集整理的这篇文章主要介绍了c – 准则:而vs,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
C中有两个显着的循环结构:while和for.
>我故意忽略了do … while结构,它是无与伦比的
>我知道std :: for_each和BOOST_FOREACH,但不是每个循环都是一个
现在,我可能有点紧张,但它总是让我纠正这样的代码:
int i = 0; while ( i < 5) { // do stuff ++i; // I'm kind and use prefix notation... though I usually witness postfix }
并将其转换为:
for (int i = 0; i < 5; ++i) { // do stuff }
在我看来,在这个例子中for的优点是多重的:
>局部性:变量i仅存在于循环范围内
> Pack:循环’控件’是打包的,所以只看循环声明我可以判断它是否正确形成(并将终止…),当然假设循环变量未在体内进一步修改
>它可能是内联的,但我不会总是建议它(这会产生棘手的错误)
我有一种倾向,因此不要使用while,除了可能是为了while(真)成语,但这不是我曾经使用过的一段时间(双关语).即使对于复杂的条件,我倾向于坚持使用for构造,尽管在多行上:
// I am also a fan of typedefs for (const_iterator it = myVector.begin(),end = myVector.end(); it != end && isValid(*it); ++it) { /* do stuff */ }
当然,你可以暂时这样做,但是(1)和(2)将无法验证.
我想避免“主观”的评论(“我喜欢/更好”的那种),我对参考现有的编码指南/编码标准非常感兴趣.
编辑:
我倾向于尽可能地坚持(1)和(2),(1)因为推荐了地点>> C++ Coding Standards: Item 18,以及(2)因为如果我不必扫描整个循环来寻找控制变量的可能改变(当第3个表达式引用循环变量时我使用for作为理所当然),它使维护更容易.
while (obj.advance()) {}
请注意,这不是一种咆哮,而是试图根据手头的情况(并且出于合理的原因,而不仅仅是喜欢)找到while或者使用中的哪一个.
以上是大佬教程为你收集整理的c – 准则:而vs全部内容,希望文章能够帮你解决c – 准则:而vs所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。