Re[3]: поменять местами A и B
От: VVV Россия  
Дата: 06.06.02 17:47
Оценка:
Здравствуйте Андрей Тарасевич, Вы писали:

АТ>Здравствуйте Андрей Тарасевич, Вы писали:


АТ>>Старый избитый прикол


АТ>>
АТ>>a ^= b ^= a ^= b;
АТ>>


АТ>>Разумеется, работать это будет только для некоторых типов.


АТ>Хотя, если посмотреть на это внимательнее, то становится ясно, что за такое морду бить надо. Две модификации каждой переменно в рамках одного выражения — неопределенное поведение.


АТ>Правильнее так


АТ>
АТ>b ^= a; a ^= b; b ^= a;
АТ>


Разве и в операторе присваивания будет неопределённое поведение??? Разве не говорится, что сначала вычисляется правая часть и затем присваивается левой? Пожалуйста, дайте выдержку из стандарта где такое использование оператора присваивания считается неопределённым.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.