Конструкторы и деструктор

Операция Назначение
forward_list<T> flst Конструктор по умолчанию, создает пустой список
forward_list<T> flst(n) Создает список изn элементов, созданных конст-руктором по умолчанию
forward_list<T> flst1(flst) Копирующий конструктор, создает новый список как копию спискаflst
forward_list<T> flst1=flst Копирующий конструктор, создает новый список как копию спискаflst
forward_list<T> flst(n,elem) Создает список, инициа-лизированный n копиями элемента elem
forward_list<T> flst(beg,end) Создает список, инициа-лизированный элементами интервала[beg,end) любого контейнера, в том числе и из элементов простого массива
forward_list<T> flst(initlist) Создает список, инициа-лизированный элементами списка инициализации initlist
forward_list<T> flst=initlist Создает список, инициа-лизированный элементами списка инициализации initlist
flst.~forward_list() Уничтожает все элементы списка и освобождает память

 

Таблица 26.9

Немодифицирующие операции

Операция Назначение
flst.empty() Возвращает true, если список пуст
flst.max_size() Возвращает максимальный размер списка
flst1 == flst2 Проверяет равенство двух списков
flst1!= flst2 Проверяет неравенство двух списков
flst1 < flst2 Проверяет, что flst1 < flst2
flst1 > flst2 Проверяет, что flst1 > flst2
flst1 <= flst2 Проверяет, что flst1 <= flst2
flst1 >= flst2 Проверяет, что flstl >= flst2

 

Таблица 26.10

Операции присваивания

Операция Назначение
flst1 = flst2 Присваивает списку flst1 копии всех элементов списка flst2
flst.assign(n, elem) Присваивает элементам спи-ска n копий elem
flst.assign(begin, end) Присваивает списку элемен-ты из интервала [begin, end)
flst.assign(initlist) Присваивание всех элемен-тов списка инициализации initlist списку flst
flst1.swap(flst2) Обменивает содержимое списков flstl и flst2
swap(flstl, flst2) Обменивает содержимое списков flstl и flst2 в форме функции

Доступ к элементам

Для доступа ко всем элементам списка необходимо использовать диапазонные циклы for, специальные операции или итераторы. Однонаправленные списки поддерживают прямой доступ только к первому элементу, и поэтому в них предусмотрена только функция-член front(), предоставляющая прямой доступ к первому элементу:

flst.front() - Возвращает первый элемент (не проверяя, существует ли этот элемент)

Эта операция не проверяет, пуст ли контейнер. Если контейнер пуст, вызов этой операции приводит к непредсказуемым последствиям.

Таблица 26.11

Операции с итераторами

Операция Назначение
flst.begin(), flst.cbegin() Возвращает однонаправленный итератор (константный итера-тор), указывающий на первый элемент списка
flst.end(), flst.cend() Возвращает однонаправленный итератор (константный итера-тор), установленный на позицию, следующую за последним элементом
flst.before_begin(), flst.cbefore_begin() Возвращает однонаправленный итератор(константный итера-тор), установленный на позицию, предшествующую первому элементу

Таблица 26.12


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: