Обменять (Swap)

We use cookies. Read the Privacy and Cookie Policy

Обменять (Swap)

template ‹class T›

void swap(T& a, T& b);

swap обменивает значения, хранимые в двух местах.

template ‹class ForwardIterator1, class ForwardIterator2›

void iter_swap(ForwardIterator1 a, ForwardIterator2 b);

iter_swap обменивает значения, указанные двумя итераторами a и b.

tempate ‹class ForwardIterator1, class ForwardIterator2›

ForwardIterator2 swap_ranges(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2);

Для каждого неотрицательного целого числа n ‹ (last1 - first1) выполняется перестановка: swap(*(first1 + n), *(first2 + n)). swap_ranges возвращает first2 + (last1 - first1). Выполняется точно last1 - first1 перестановок. Результат swap_ranges не определён, если два диапазона [first1, last1) и [first2, first2 + (last1 - first1)) перекрываются.