я наткнулся на этот код:
if (1, true) {/*...*/}
Что это на самом деле означает?
Пока это оценивается как истина:
void foo(){}
...
if(1, foo()) {/*...*/}
это не компилируется:
void foo(){}
...
if (1 == foo()) {/*...*/}
очевидно, потому что компилятор ожидает, что foo () вернет некоторое целое значение. Я думал, что запятая переводит в какой-то оператор.
Означает ли эта запятая в предложении if что-то внутренне?