На этом шаге рассмотрим вектор 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.
Предыдущий шаг
Содержание
Следующий шаг