Каков приоритет оператора запятой внутри условного оператора в C ++?
Что здесь происходит?
#include <iostream>
using namespace std;
int main(){
int x=0,y=0;
true? ++x, ++y : --x, --y;
cout << "x: " << x << endl;
cout << "y: " << y << endl; //why does y=0 here?
x=0,y=0;
false ? ++x, ++y : --x, --y;
cout << "x: " << x << endl;
cout << "y: " << y << endl;
}
x: 1
y: 0
x: -1
y: -1
Второй случай кажется нормальным. Я ожидал бы, что и x, и y увеличатся до 1 в первом случае, но будут увеличены только левые операнды.