На этом шаге мы рассмотрим особенности выполнения операции присваивания.
В процессе присваивания контейнеров все элементы контейнера-нсточника копируются, а все элементы контейнера-приемника удаляются. Таким образом, присваивание контейнеров является относительно дорогостоящей операцией.
Если контейнеры относятся к одному типу, а источник в дальнейшем не требуется, существует простой способ оптимизации: воспользуйтесь функцией swap(). Функция swap() работает гораздо эффективнее, потому что использует только внутренние данные контейнеров. Более того, она переставляет только внутренние указатели со ссылками на данные (элементы, распределитель памяти и критерий сортировки, если он есть). Следовательно, функция swap() при присваивании заведомо выполняется с постоянной, а не с линейной сложностью.
Со следующего шага мы начнем знакомиться более подробно с векторами.