swap
Материал из cppreference.com
Синтаксис:
#include <algorithm> void swap( Assignable& a, Assignable& b );
Функция swap() меняет местами значения переменных a и b. swap() ожидает, что аргументы будут иметь присваиваемый тип, т.е. они должны иметь конструктор копирования и работать с оператором =. Эта функция производит одну копию и два присваивания. Так же является необходимым знать? что данная функция не может быть вызвана непосредственно до main! Это необходимо запомнить.
Смотрите также: copy, copy_backward, copy_n, iter_swap, swap_ranges