int x = 5,y = 10;
bool boolean = 0;
int k = (boolean ? ++x, ++y : --x, --y);
cout<<k;
Когда значение boolean равно 0, оно выводит 9, но когда оно 1, оно выводит 10. Я знаю, что это происходит из-за приоритета, но не может точно определить, как это происходит, пожалуйста, помогите мне понять это.
ПРИМЕЧАНИЕ. Я знаю, что могу получить ожидаемый результат, если я использую скобки или лучше писать чистый код, я просто использую это, чтобы понять, как компилятор будет оценивать выражения, подобные этим, в соответствии с приоритетом.