An expression may consist of one or more subexpressions. You can group several expressions in one statement and separate them with commas. For example:
if(++x, --y, cin.good()) // three expressions
The if condition contains three expressions separated by commas. C++ ensures that each of the expressions is evaluated and its side effects take place. However, the value of a comma expression is the value of its rightmost expression. Therefore, the if condition above evaluates as true only if cin.good() returns true. Here’s another example of a comma expression:
int j=10, i=0;while( ++i, --j){ //..repeat as long as j doesn't equal 0}