ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้
-
- x, y = y, x - Cкpипaч(23.12.2020 19:47)
- swap? Вот ведь неожиданность. Какие там могут быть трудности
объяснить компилятору? Завести временную переменную? - SciFi(23.12.2020 21:05)
- OOO! Трудности могут быть и большие. Дьявол кроется в мелочах. Как, например, обменять местами два очень больших класса? Или класс в котором есть не копируемый ресурс (открытый сокет, например). Или два контейнера (чуть попроще, т.к. у них есть swap() свой или они имеют move-конструктор). Где-то читал но забыл, std::swap в общем сложная функция... - fk0(23.12.2020 21:36)
- Еще варианты: x,y,z = BestPointCoordinates() Cкpипaч(142 знак., 23.12.2020 21:32)
- Вот тут рассказывают, для C++-программистов рекомендую... (но вообще этот тот же кортеж, std::tuple). fk0(1 знак., 23.12.2020 21:42, ссылка, youtube)
- Аппетит приходит во время еды. Вы ещё попросите компилятор кофе
сварить :-) - SciFi(23.12.2020 21:42)
- Он у меня умный. И догадливый :о) - Cкpипaч(23.12.2020 21:45)
- Как компилятора зовут? Сансаныч? Мариванна? :-) - SciFi(23.12.2020 21:55)
- Он у меня умный. И догадливый :о) - Cкpипaч(23.12.2020 21:45)
- В крестах это будет lloyd(37 знак., 23.12.2020 19:49)
- std::swap? - йцyкeн(23.12.2020 21:03)
- std::swap работает только на двух аргументах, если надо будет три -
опять сводится к тульпе. Но мой коммент скорее про то, что в с++
такая строчка может быть 1:1 - lloyd(23.12.2020 21:20)
- Пытаюсь вспомнить, когда мне последний раз нужно было поменять три
переменные. Кажется, это было до большого взрыва. - йцyкeн(23.12.2020 23:42)
- std::rotate же! На самом деле полезная вещь. Можно что-то, какие-то записи, которые удобно потом видеть в памяти непрерывным блоком, обычно текст, писать в кольцевой буфер. А потом сделать rotate всего буфера и получить набор данных который начинается строго в начале буфера (на самой старой не перезаписанной поверх другими записи) и кончается где-то незадолго до конца. fk0(396 знак., 24.12.2020 01:39, ссылка)
- Пытаюсь вспомнить, когда мне последний раз нужно было поменять три
переменные. Кажется, это было до большого взрыва. - йцyкeн(23.12.2020 23:42)
- std::swap работает только на двух аргументах, если надо будет три -
опять сводится к тульпе. Но мой коммент скорее про то, что в с++
такая строчка может быть 1:1 - lloyd(23.12.2020 21:20)
- В крестах ещё есть structured bindings --> - fk0(23.12.2020 20:01, ссылка)
- Ну, нотация "auto [a, b, ...] = tuple" создает новую переменную в
области видимости, поэтому тот пример вроде бы все-таки через
std::tie делается - lloyd(23.12.2020 20:20)
- Если вам мало "синтаксического мусора" - добавьте reinterpret_cast :o) - Cкpипaч(23.12.2020 21:44)
- Ну, нотация "auto [a, b, ...] = tuple" создает новую переменную в
области видимости, поэтому тот пример вроде бы все-таки через
std::tie делается - lloyd(23.12.2020 20:20)
- std::swap? - йцyкeн(23.12.2020 21:03)
- swap? Вот ведь неожиданность. Какие там могут быть трудности
объяснить компилятору? Завести временную переменную? - SciFi(23.12.2020 21:05)
- x, y = y, x - Cкpипaч(23.12.2020 19:47)