Как работает оператор запятая?
Почему
delete a, b //освобождает только a
int a, b; //создаст два int
return a = 1, b = 2; //вернет 2
Везде оператор запятая, однако работает по-разному
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
delete a, b;
Приоритет delete выше, поэтому это выражение рассматривается как
delete a;
b;
Тут
int a, b;
это не оператор "запятая", так же, как не оператор "запятая" и в, скажем, вызове
pow(x,y);
Здесь
return a = 1, b = 2;
return возвращает выражение a = 1, b = 2, которое рассматривается как
a = 1;
b = 2;
при этом значением всего выражения становится значение последнего подвыражения - b = 2, т.е. двойка...