我在 github 上浏览一个GNUstep 项目,遇到了这个小循环......
for(; i < 9; i+=1)
{
for(;j < 9; j+=1)
{
/* Inner loop code - snipped */
}
}
大多数(但不是所有)增量操作都是在源代码中使用“ +=1 ”完成的;如果它是一致的,这将是有道理的。如果它是一致的,我会把它归结为简单的个人喜好,甚至是可读性。
然而,对于一个似乎由一个人完成的项目(毕竟这是一个简单的数独游戏),增量操作的不同风格让我有点好奇。
for(; i<10; i++)
{
/* inner loop code - snipped */
}
现在我已经阅读了这个问题,它证实了我的怀疑 -无论使用何种语法,编译器都应该生成相同的低级代码。
这让我开始思考这是最佳实践还是风格指南,但同一位编码员使用了这两种递增方法。就个人而言,我不假思索地使用“ i++ ”——我猜这对于任何编码人员来说都是很自然的,你几乎不假思索地输入它。
我错过了什么还是“仅仅因为”?你有什么理由混合这两种类型的增量吗?如果它们都编译为相同的 ASM,那么我会假设没有任何情况下一个性能优于另一个。