Шаг 133.
Библиотека STL.
Контейнеры STL. Операции над векторами. Присваивание

    На этом шаге мы рассмотрим различные операции, инициализирующие вектор.

    В таблице 1 перечислены операции присваивания новых элементов с одновременным удалением старых. Набор функций assign() соответствует набору конструкторов класса. При присваивании могут использоваться разные источники (контейнеры, массивы, стандартный входной поток данных) - по аналогии с источниками, используемыми при вызове конструкторов (смотри 125 шаг).

Таблица 1. Операции присваивания для векторов
Операция Описание
с1 = с2 Присваивает с1 все элементы с2
c.assign(n,elem) Присваивает n копий заданного элемента
c.assign(beg,end) Присваивает элементы интервала [beg,end)
c1.swap(c2) Меняет местами содержимое c1 и с2
swap(c1,c2) To же, но в форме глобальной функции

    Все операции присваивания вызывают конструктор по умолчанию, копирующий конструктор, оператор присваивания и/или деструктор типа элемента в зависимости от того, как изменяется количество элементов в контейнере. Пример:

  std::list<Elem> l;
  std::vector<Elem> coll;
  // Занести в coll копию содержимого l 
  coll.assign(l.begin(),l.end());

    На следующем шаге мы рассмотрим способы обращения к элементам.




Предыдущий шаг Содержание Следующий шаг