На этом шаге рассмотрим последовательные контейнеры.
Последовательные контейнеры представляют собой упорядоченные коллекции, где каждый элемент занимает определенную позицию. Операции, доступные для всех последовательных контейнеров, перечислены в табл. 1.
Таблица 1. Общие методы последовательных контейнеров
Оператор/метод | Описание |
---|---|
+ | Объединяет элементы двух контейнеров |
+= | Добавляет элемент в контейнер (то же, что и <<) |
<< | Добавляет элемент в контейнер |
at() | Возвращает указанный элемент |
back() и last() | Возвращают ссылку на последний элемент. Эти методы предполагают, что контейнер не пуст. Оба метода back() и last() идентичны, но применение первого предпочтительнее, т. к. он соответствует STL |
contains() | Проверяет, содержится ли переданный в качестве параметра элемент в контейнере |
erase() | Удаляет элемент, расположенный на позиции итератора, передаваемого в качестве параметра |
front() и first() | Возвращают ссылку на первый элемент контейнера. Методы предполагают, что контейнер не пуст. Оба метода front() и first() идентичны, но применение первого более предпочтительно, т. к. он соответствует STL |
indexOf() | Возвращает позицию первого совпадения найденного в контейнере элемента, в соответствии с переданным в метод значением. Внимание: в контейнере QLinkedList этот метод отсутствует |
lastIndexOf() | Возвращает позицию последнего совпадения найденного в контейнере элемента, в соответствии с переданным в метод значением. Внимание: в контейнере QLinkedList этот метод отсутствует |
mid() | Возвращает контейнер, содержащий копии элементов, задаваемых начальной позицией и количеством |
pop_back() | Удаляет последний элемент контейнера |
pop_front() | Удаляет первый элемент контейнера |
push_back() и append() | Методы добавляют один элемент в конец контейнера. Оба метода идентичны, но применение первого предпочтительно, т. к. он соответствует STL |
push_front() и prepend() | Методы добавляют один элемент в начало контейнера. Оба метода идентичны, но применение первого предпочтительно, т. к. он соответствует STL |
replace() | Заменяет элемент, находящийся на заданной позиции, значением, переданным как второй параметр |
Пример:
QVector<QString> vec; vec.append("Turbo Pascal"); vec.append("Lisp"); vec.append("Библиотека Qt"); qDebug() << vec;
На экране вы увидите:
QVector("Turbo Pascal", "Lisp", "Библиотека Qt")
На следующем шаге рассмотрим вектор QVector<T>.
Предыдущий шаг
Содержание
Следующий шаг