Шаг 60.
Библиотека Qt.
Вектор QVector<T>

    На этом шаге рассмотрим вектор QVector<T>.

    Вектор — это структура данных, очень похожая на обычный массив. Однако использование класса вектора предоставляет некоторые преимущества по сравнению с обычным массивом, например, можно получить количество содержащихся в нем элементов или динамически изменить его размер. Кроме того, этот контейнер наиболее экономично расходует память, по сравнению с другими.

    Для добавления элементов в конец последовательного контейнера можно воспользоваться методом push_back(). К элементам вектора можно обратиться как посредством оператора индексации [], так и при помощи итератора. Например:

QVector<int> vec;
vec.push_back(10);
vec.push_back(20);
vec.push_back(30);
qDebug() << vec;

    На консоли будет отображено следующее:

QVector(10, 20, 30)

    Размер вектора можно задать в конструкторе при его создании. По умолчанию только что созданный вектор будет иметь размер равный 0, т. к. он не содержит ни одного элемента. Изменить его размер можно либо добавив к нему элементы, либо вызвав метод resize() (табл. 1).

Таблица 1. Некоторые методы контейнера QVector<T>
Метод
Описание
data()
Возвращает указатель на данные вектора (т. е. на обычный массив)
fill()
Присваивает одно и то же значение всем элементам вектора
reserve()
Резервирует память для количества элементов, в соответствии с переданным значением
resize()
Устанавливает размер вектора в соответствии с переданным значением
toList()
Возвращает объект QList с элементами, содержащимися в векторе
toStdVector()
Возвращает объект std::vector с элементами, содержащимися в векторе

    На следующем шаге рассмотрим массив байтов QByteArray.




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