489
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
489
В продолжение вчерашнего поста и обсуждений, что на каждую старуху найдется своя проруха)), вопрос тот же, только задание чуть сложнее: что выведет программа?
489
Легкий вопрос для того, чтобы взбодриться перед собеседованием)).
Что выведет программа?
489
Подробнее о применении std::exchange можно посмотреть в выступлении Бена Дина на CppCom: https://www.youtube.com/watch?v=OqJUBIJOojI&ab_channel=CppCon
489
Но не думайте, пожалуйста, что она присваивает эти значения в том порядке, в котором я нарисовала.
Всё происходит почти как при реализации постфиксного инкремента (i++).
Сначала сохраняем старое значение b, а затем присваиваем ему значение с, а затем возвращаем старое значение b и уже меняем a.
489
📚Изучаем STL
Сегодня это утилита std::exchange(b, c);
Название у неё не совсем соответствует действительности. Ведь, можно было бы подумать, что exchange — менять, обменивает два параметра своими значениями. Но что тогда делает std::swap? В общем легко запутаться.
Вот, как просто запомнить, что делает эта функция.
