以下2个代码之间是否有区别
for (int i = 0; i < 3; i++)
cout << i << endl,
countSteps ++;
和
for (int i = 0; i < 3; i++){
cout << i << endl;
countSteps ++;
}
答案 0 :(得分:2)
逗号字符在不同的句法元素下具有不同的含义。
在您的情况下,它是逗号运算符。
为清楚起见,以下内容并不构成声明。
cout << i << endl,
以下是。
cout << i << endl,
countSteps ++;
以下内容
cout << i << endl;
以分号结尾的语句。逗号没有。
对于您发布的代码,这两个代码块对您的程序结果没有任何影响。但是,最好了解语法结构之间的区别。
通常,它们可以基于逗号运算符的表达式求值的值而具有不同的行为。有关更多详细信息,请参见https://en.cppreference.com/w/cpp/language/operator_other#Built-in_comma_operator。
答案 1 :(得分:1)
不,在这种情况下没有区别。 (除了第二个片段看上去并不难看。)
一般情况下,operator,
可能会过载。那么第一个选项可能会导致怪异的效果。