На этом шаге рассмотрим вектор 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).
Возвращает указатель на данные вектора (т. е. на обычный массив) | |
Присваивает одно и то же значение всем элементам вектора | |
Резервирует память для количества элементов, в соответствии с переданным значением | |
Устанавливает размер вектора в соответствии с переданным значением | |
Возвращает объект QList с элементами, содержащимися в векторе | |
Возвращает объект std::vector с элементами, содержащимися в векторе |
На следующем шаге рассмотрим массив байтов QByteArray.