Михаил Абрамян

Введение в стандартную библиотеку шаблонов C++. Описание, примеры использования, учебные задачи


Скачать книгу

… . Позволяет избежать дополнительных операций копирования или перемещения, выполняемых при использовании функции-члена push_front.

screen_image_19_350_76

      Удаляет элемент на позиции pos или все элементы в диапазоне [first, last) и возвращает итератор, указывающий на элемент, следующий за последним удаленным элементом (или итератор end(), если были удалены конечные элементы контейнера).

screen_image_19_424_76

      Возвращает ссылку на первый элемент контейнера. Для пустого контейнера поведение не определено.

screen_image_19_475_76screen_image_20_56_60

      Вставляет в контейнер новые данные, начиная с позиции pos (соответственно одно или n значений x, элементы из диапазона [InIterFirst, InIterLast) или элементы из списка инициализации init_list). Первый вариант функции-члена возвращает итератор, указывающий на вставленный элемент. Два последних варианта, добавленных в стандарт С++11 вместо третьего варианта, возвращают итератор, указывающий на первый вставленный элемент, или исходное значение pos, если диапазон или список инциализации являются пустыми.

screen_image_20_189_60

      Удаляет последний элемент. Для пустого контейнера поведение не определено.

screen_image_20_239_60

      Удаляет первый элемент. Для пустого контейнера поведение не определено.

screen_image_20_290_60

      Добавляет x в конец контейнера.

screen_image_20_317_60

      Добавляет x в начало контейнера.

screen_image_20_356_60

      Резервирует емкость размером не менее n.

screen_image_20_396_60

      Изменяет размер контейнера, делая его равным n. Если n > size(), то в конец контейнера добавляется требуемое число копий x. Если n < size(), то удаляется требуемое количество конечных элементов контейнера. В стандарте С++11 вариант с одним параметром оптимизирован таким образом, чтобы избежать создания ненужных копий объектов T.

screen_image_20_467_60

      Позволяет уменьшить размер памяти, выделенной для хранения элементов контейнера, однако не гарантирует, что память действительно будет уменьшена.

      1.2.5. Дополнительные функции-члены класса list

      Все дополнительные функции-члены класса list, кроме splice, представляют собой специальные реализации соответствующих алгоритмов, которые необходимо использовать вместо стандартных алгоритмов при обработке списков.

screen_image_21_117_76

      Выполняет операцию слияния текущего списка и списка lst того же типа (оба списка должны быть предварительно отсортированы). При слиянии элементы сравниваются с помощью операции < или предиката comp, если он явно указан (и эта же операция или предикат должны быть ранее использованы для сортировки списков). Слияние является устойчивым, т. е. относительный порядок следования элементов исходных списков не нарушается. Если «одинаковые» элементы присутствуют как в текущем списке, так и в списке lst, то элемент из lst помещается после элемента, уже присутствующего в текущем списке. В результате слияния список lst становится пустым. В стандарте С++11 добавлены варианты с параметром lst, являющимся ссылкой на r-значение (r-value reference).

screen_image_21_257_76

      Удаляет