На этом шаге рассмотрим последовательные контейнеры.
Последовательные контейнеры представляют собой упорядоченные коллекции, где каждый элемент занимает определенную позицию. Операции, доступные для всех последовательных контейнеров, перечислены в табл. 1.
Объединяет элементы двух контейнеров | |
Добавляет элемент в контейнер (то же, что и <<) | |
Добавляет элемент в контейнер | |
Возвращает указанный элемент | |
Возвращают ссылку на последний элемент. Эти методы предполагают, что контейнер не пуст. Оба метода back() и last() идентичны, но применение первого предпочтительнее, т. к. он соответствует STL | |
Проверяет, содержится ли переданный в качестве параметра элемент в контейнере | |
Удаляет элемент, расположенный на позиции итератора, передаваемого в качестве параметра | |
Возвращают ссылку на первый элемент контейнера. Методы предполагают, что контейнер не пуст. Оба метода front() и first() идентичны, но применение первого более предпочтительно, т. к. он соответствует STL | |
Возвращает позицию первого совпадения найденного в контейнере элемента, в соответствии с переданным в метод значением. Внимание: в контейнере QLinkedList этот метод отсутствует | |
Возвращает позицию последнего совпадения найденного в контейнере элемента, в соответствии с переданным в метод значением. Внимание: в контейнере QLinkedList этот метод отсутствует | |
Возвращает контейнер, содержащий копии элементов, задаваемых начальной позицией и количеством | |
Удаляет последний элемент контейнера | |
Удаляет первый элемент контейнера | |
Методы добавляют один элемент в конец контейнера. Оба метода идентичны, но применение первого предпочтительно, т. к. он соответствует STL | |
Методы добавляют один элемент в начало контейнера. Оба метода идентичны, но применение первого предпочтительно, т. к. он соответствует STL | |
Заменяет элемент, находящийся на заданной позиции, значением, переданным как второй параметр |
Пример:
QVector<QString> vec; vec.append("Turbo Pascal"); vec.append("Lisp"); vec.append("Библиотека Qt"); qDebug() << vec;
На экране вы увидите:
QVector("Turbo Pascal", "Lisp", "Библиотека Qt")
На следующем шаге рассмотрим вектор QVector<T>.