我有一个简单的问题,主要是出于好奇。
这两行代码有什么区别? (在 C++ 中)
for(int i = 0; i < N, N > 0; i++)
for(int i = 0; i < N && N > 0; i++)
条件的选择完全是任意的,我只对 , 和 && 的区别感兴趣。
无论如何我都不是编码的初学者,但我从来没有为逗号运算符烦恼过。
是否存在性能/行为差异或纯粹是审美差异?
最后一点,我知道有比条件运算符更高效的鱼苗,但我只是好奇。放纵我。
编辑 感谢您的回答。
事实证明,提示此问题的代码以我所描述的方式误用了逗号运算符。我想知道有什么区别以及为什么它不是 && 运算符,但它只是写错了。我不认为它有什么问题,因为它工作得很好。谢谢你帮我理顺。
最佳答案
使用这样的逗号只会放弃第一个条件。
逗号运算符的意思是“按此顺序运行这些语句,并取最后一个的值”。
关于c++ - for循环条件的性能差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1094918/