Класс QVarLengthArray
шаблон <typename T, int Prealloc> class QVarLengthArrayКласс QVarLengthArray предоставляет массив переменной длины низкого уровня. Подробнее...
| Заголовок: | #include <QVarLengthArray> |
| qmake: | QT += core |
Примечание: Все функции в этом классе являются взаимоисключающими.
Типы публичного доступа
| typedef | const_iterator |
| typedef | const_pointer |
| typedef | const_reference |
| typedef | const_reverse_iterator |
| typedef | difference_type |
| typedef | iterator |
| typedef | pointer |
| typedef | reference |
| typedef | reverse_iterator |
| typedef | size_type |
| typedef | value_type |
Публичные функции
| QVarLengthArray(InputIterator first, InputIterator last) | |
| QVarLengthArray(std::initializer_list<T> args) | |
| QVarLengthArray(const QVarLengthArray<T, Prealloc> &other = Prealloc) | |
| QVarLengthArray(int size) | |
| QVarLengthArray<T, Prealloc> & | operator=(const QVarLengthArray<T, Prealloc> &other = Prealloc) |
| ~QVarLengthArray() | |
| void | append(const T &t) |
| void | append(T &&t) |
| void | append(const T *buf, int size) |
| const T & | at(int i) const |
| T & | back() |
| const T & | back() const |
| QVarLengthArray::iterator | begin() |
| QVarLengthArray::const_iterator | begin() const |
| int | capacity() const |
| QVarLengthArray::const_iterator | cbegin() const |
| QVarLengthArray::const_iterator | cend() const |
| void | clear() |
| QVarLengthArray::const_iterator | constBegin() const |
| const T * | constData() const |
| QVarLengthArray::const_iterator | constEnd() const |
| bool | contains(const T &value) const |
| int | count() const |
| QVarLengthArray::const_reverse_iterator | crbegin() const |
| QVarLengthArray::const_reverse_iterator | crend() const |
| T * | data() |
| const T * | data() const |
| bool | empty() const |
| QVarLengthArray::iterator | end() |
| QVarLengthArray::const_iterator | end() const |
| QVarLengthArray::iterator | erase(QVarLengthArray::const_iterator pos) |
| QVarLengthArray::iterator | erase(QVarLengthArray::const_iterator begin, QVarLengthArray::const_iterator end) |
| T & | first() |
| const T & | first() const |
| T & | front() |
| const T & | front() const |
| int | indexOf(const T &value, int from = 0) const |
| void | insert(int i, T &&value) |
| void | insert(int i, const T &value) |
| void | insert(int i, int count, const T &value) |
| QVarLengthArray::iterator | insert(QVarLengthArray::const_iterator before, int count, const T &value) |
| QVarLengthArray::iterator | insert(QVarLengthArray::const_iterator before, T &&value) |
| QVarLengthArray::iterator | insert(QVarLengthArray::const_iterator before, const T &value) |
| bool | isEmpty() const |
| T & | last() |
| const T & | last() const |
| int | lastIndexOf(const T &value, int from = -1) const |
| int | length() const |
| void | pop_back() |
| void | prepend(T &&value) |
| void | prepend(const T &value) |
| void | push_back(const T &t) |
| void | push_back(T &&t) |
| QVarLengthArray::reverse_iterator | rbegin() |
| QVarLengthArray::const_reverse_iterator | rbegin() const |
| void | remove(int i) |
| void | remove(int i, int count) |
| void | removeLast() |
| QVarLengthArray::reverse_iterator | rend() |
| QVarLengthArray::const_reverse_iterator | rend() const |
| void | replace(int i, const T &value) |
| void | reserve(int size) |
| void | resize(int size) |
| void | shrink_to_fit() |
| int | size() const |
| void | squeeze() |
| T | value(int i) const |
| T | value(int i, const T &defaultValue) const |
| QVarLengthArray<T, Prealloc> & | operator+=(const T &value) |
| QVarLengthArray<T, Prealloc> & | operator+=(T &&value) |
| QVarLengthArray<T, Prealloc> & | operator<<(const T &value) |
| QVarLengthArray<T, Prealloc> & | operator<<(T &&value) |
| QVarLengthArray<T, Prealloc> & | operator=(std::initializer_list<T> list) |
| T & | operator[](int i) |
| const T & | operator[](int i) const |
Связанные нечлены
| uint | qHash(const QVarLengthArray<T, Prealloc> &key = Prealloc, uint seed = 0) |
| bool | operator!=(const QVarLengthArray<T, Prealloc1> &left = Prealloc1, const QVarLengthArray<T, Prealloc2> &right = Prealloc2) |
| bool | operator<(const QVarLengthArray<T, Prealloc1> &lhs = Prealloc1, const QVarLengthArray<T, Prealloc2> &rhs = Prealloc2) |
| bool | operator<=(const QVarLengthArray<T, Prealloc1> &lhs = Prealloc1, const QVarLengthArray<T, Prealloc2> &rhs = Prealloc2) |
| bool | operator==(const QVarLengthArray<T, Prealloc1> &left = Prealloc1, const QVarLengthArray<T, Prealloc2> &right = Prealloc2) |
| bool | operator>(const QVarLengthArray<T, Prealloc1> &lhs = Prealloc1, const QVarLengthArray<T, Prealloc2> &rhs = Prealloc2) |
| bool | operator>=(const QVarLengthArray<T, Prealloc1> &lhs = Prealloc1, const QVarLengthArray<T, Prealloc2> &rhs = Prealloc2) |
Подробное описание
Язык C++ не поддерживает массивы переменной длины в стеке. Например, следующий код не будет компилироваться:
int myfunc(int n)
{
int table[n + 1]; // WRONG
...
return table[n];
} Альтернативой является выделение массива в куче (с помощью new):
int myfunc(int n)
{
int *table = new int[n + 1];
...
int ret = table[n];
delete[] table;
return ret;
} Однако, если myfunc() вызывается очень часто из внутреннего цикла приложения, выделение в куче может стать существенным источником замедления.
QVarLengthArray — это попытка обойти этот пробел в языке C++. Она выделяет определённое количество элементов в стеке, и если вы изменяете размер массива на больший размер, она автоматически использует кучу вместо этого. Выделение в стеке имеет преимущество, что оно намного быстрее, чем выделение в куче.
Пример:
int myfunc(int n)
{
QVarLengthArray<int, 1024> array(n + 1);
...
return array[n];
} В приведённом примере QVarLengthArray предварительно выделит 1024 элемента в стеке и будет использовать их, если n + 1 больше, чем 1024. Если вы опустите второй шаблонный аргумент, QVarLengthArray использует значение по умолчанию 256.
Тип значения QVarLengthArray должен быть типом данных, допускающим присваивание. Это охватывает большинство типов данных, которые обычно используются, но компилятор не позволит вам, например, хранить QWidget в качестве значения; вместо этого храните QWidget *.
QVarLengthArray, как и QVector, предоставляет структуру данных ресайзбального массива. Основные отличия между двумя классами:
- API QVarLengthArray намного более низкоуровневый и у него отсутствует часть функциональности QVector.
- QVarLengthArray не инициализирует память, если значение является базовым типом. (QVector всегда делает это.)
- QVector использует неявное совместное использование в качестве оптимизации памяти. QVarLengthArray не предоставляет эту функцию; однако, она обычно обеспечивает немного лучшую производительность из-за снижения накладных расходов, особенно в узких циклах.
В общем, QVarLengthArray — это низкоуровневый оптимизирующий класс, который имеет смысл только в очень специфических случаях. Он используется в нескольких местах внутри Qt и был добавлен в общедоступный API Qt для удобства опытных пользователей.
См. также QVector, QList и QLinkedList.
Документация типов членов
typedef QVarLengthArray::const_iterator
Тип-псевдоним для const T *. Представлен для совместимости со STL.
Этот тип-псевдоним был введён в Qt 4.7.
typedef QVarLengthArray::const_pointer
Тип-псевдоним для const T *. Представлен для совместимости со STL.
Этот тип-псевдоним был введён в Qt 4.7.
typedef QVarLengthArray::const_reference
Тип-псевдоним для const T &. Представлен для совместимости со STL.
Этот тип-псевдоним был введён в Qt 4.7.
typedef QVarLengthArray::const_reverse_iterator
Тип-псевдоним для std::reverse_iterator<const T*>. Представлен для совместимости со STL.
Этот тип-псевдоним был введён в Qt 5.6.
typedef QVarLengthArray::difference_type
Тип-псевдоним для ptrdiff_t. Представлен для совместимости со STL.
Этот тип-псевдоним был введён в Qt 4.7.
typedef QVarLengthArray::iterator
Тип-псевдоним для T *. Представлен для совместимости со STL.
Этот тип-псевдоним был введён в Qt 4.7.
typedef QVarLengthArray::pointer
Тип-псевдоним для T *. Представлен для совместимости со STL.
Этот тип-псевдоним был введён в Qt 4.7.
typedef QVarLengthArray::reference
Тип-псевдоним для T &. Представлен для совместимости со STL.
Этот тип-псевдоним был введён в Qt 4.7.
typedef QVarLengthArray::reverse_iterator
Тип-псевдоним для std::reverse_iterator<T*>. Представлен для совместимости со STL.
Этот тип-псевдоним был введён в Qt 5.6.
typedef QVarLengthArray::size_type
Тип-псевдоним для int. Представлен для совместимости со STL.
Этот тип-псевдоним был введён в Qt 4.7.
typedef QVarLengthArray::value_type
Тип-псевдоним для T. Представлен для совместимости со STL.
Этот тип-псевдоним был введён в Qt 4.7.
Документация функций-членов
QVarLengthArray::iterator QVarLengthArray::insert(QVarLengthArray::const_iterator before, T &&value)
QVarLengthArray::iterator QVarLengthArray::insert(QVarLengthArray::const_iterator before, const T &value)
Это перегруженная функция.
Вставляет value перед элементом, на который указывает итератор before. Возвращает итератор, указывающий на вставленный элемент.
Эта функция была введена в Qt 4.8.
void QVarLengthArray::insert(int i, T &&value)
void QVarLengthArray::insert(int i, const T &value)
Вставляет value в позицию с индексом i в массиве. Если i равно 0, значение добавляется в начало вектора. Если i равно size(), значение добавляется в конец вектора.
Для больших массивов эта операция может быть медленной (линейное время), потому что она требует перемещения всех элементов с индексами i и выше на одну позицию дальше в памяти. Если вам нужен класс контейнера, предоставляющий быструю функцию insert(), используйте QLinkedList вместо этого.
Эта функция была добавлена в Qt 4.8.
См. также remove().
void QVarLengthArray::prepend(T &&value)
void QVarLengthArray::prepend(const T &value)
Вставляет value в начало массива.
Это то же самое, что vector.insert(0, value).
Для больших массивов эта операция может быть медленной (линейное время), потому что она требует перемещения всех элементов вектора на одну позицию дальше в памяти. Если вам нужен класс контейнера, предоставляющий быструю функцию prepend(), используйте QList или QLinkedList вместо этого.
Эта функция была добавлена в Qt 4.8.
См. также append() и insert().
template <typename InputIterator> QVarLengthArray::QVarLengthArray(InputIterator first, InputIterator last)
Создаёт массив с содержимым в диапазоне итераторов [first, last).
Тип значения InputIterator должен быть приводим к типу T.
Эта функция была добавлена в Qt 5.14.
QVarLengthArray::QVarLengthArray(std::initializer_list<T> args)
Создаёт массив из переданного std::initializer_list args.
Этот конструктор доступен только если компилятор поддерживает списки инициализации C++11.
Эта функция была добавлена в Qt 5.5.
QVarLengthArray::QVarLengthArray(const QVarLengthArray<T, Prealloc> &other = Prealloc)
Создаёт копию other.
QVarLengthArray::QVarLengthArray(int size)
Создаёт массив с начальным размером в size элементов.
Если тип значения — это примитивный тип (например, char, int, float) или тип указателя (например, QWidget *), элементы не инициализируются. Для других типов элементы инициализируются со значением, созданным по умолчанию (значение, созданное по умолчанию).
QVarLengthArray<T, Prealloc> &QVarLengthArray::operator=(const QVarLengthArray<T, Prealloc> &other = Prealloc)
Присваивает other этому массиву и возвращает ссылку на этот массив.
QVarLengthArray::~QVarLengthArray()
Удаляет массив.
void QVarLengthArray::append(const T &t)
Добавляет элемент t в массив, расширяя его при необходимости.
См. также removeLast().
void QVarLengthArray::append(T &&t)
Эта функция перегружает append.
Примечание: В отличие от перегрузки append() для ссылок на значения, передача ссылки на объект, который уже является элементом *this приводит к неопределённому поведению:
vla.append(std::move(vla[0])); // BUG: passing an object that is already in the container
Эта функция была добавлена в Qt 5.9.
void QVarLengthArray::append(const T *buf, int size)
Добавляет size элементов, ссылающихся на buf, в этот массив.
const T &QVarLengthArray::at(int i) const
Возвращает ссылку на элемент с индексом i.
i должен быть допустимым индексом в массиве (т.е., 0 <= i < size()).
См. также value() и operator[]().
T &QVarLengthArray::back()
То же самое, что last(). Предоставлено для совместимости со STL.
Эта функция была добавлена в Qt 5.0.
const T &QVarLengthArray::back() const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.0.
QVarLengthArray::iterator QVarLengthArray::begin()
Возвращает итератор STL, указывающий на первый элемент в массиве.
Эта функция была добавлена в Qt 4.8.
См. также constBegin() и end().
QVarLengthArray::const_iterator QVarLengthArray::begin() const
Это перегруженная функция.
Эта функция была добавлена в Qt 4.8.
int QVarLengthArray::capacity() const
Возвращает максимальное количество элементов, которые могут быть сохранены в массиве без принудительной перераспределения памяти.
Единственная цель этой функции — предоставить способ точной настройки использования памяти QVarLengthArray. Как правило, вам редко придётся вызывать эту функцию. Если вы хотите узнать, сколько элементов находится в массиве, вызовите size().
См. также reserve() и squeeze().
QVarLengthArray::const_iterator QVarLengthArray::cbegin() const
Возвращает постоянный итератор STL, указывающий на первый элемент в массиве.
Эта функция была добавлена в Qt 5.0.
QVarLengthArray::const_iterator QVarLengthArray::cend() const
Возвращает постоянный итератор STL, указывающий на воображаемый элемент после последнего элемента в массиве.
Эта функция была добавлена в Qt 5.0.
void QVarLengthArray::clear()
Удаляет все элементы из массива.
То же самое, что resize(0).
QVarLengthArray::const_iterator QVarLengthArray::constBegin() const
Возвращает постоянный итератор STL, указывающий на первый элемент в массиве.
Эта функция была добавлена в Qt 4.8.
См. также begin() и constEnd().
const T *QVarLengthArray::constData() const
Возвращает постоянный указатель на данные, хранящиеся в массиве. Указатель может быть использован для доступа к элементам массива. Указатель остаётся действительным до тех пор, пока массив не перераспределяется.
Функция в основном полезна для передачи массива в функцию, которая принимает обычный массив C++.
См. также data() и operator[]().
QVarLengthArray::const_iterator QVarLengthArray::constEnd() const
Возвращает постоянный итератор STL, указывающий на воображаемый элемент после последнего элемента в массиве.
Эта функция была добавлена в Qt 4.8.
См. также constBegin() и end().
bool QVarLengthArray::contains(const T &value) const
Возвращает true , если массив содержит вхождение value; в противном случае возвращает false.
Для этой функции необходима реализация operator==() для типа значения.
Эта функция была добавлена в Qt 5.3.
См. также indexOf() и lastIndexOf().
int QVarLengthArray::count() const
То же самое, что size().
См. также isEmpty() и resize().
QVarLengthArray::const_reverse_iterator QVarLengthArray::crbegin() const
Возвращает постоянный обратный итератор STL, указывающий на первый элемент в массиве, в обратном порядке.
Эта функция была добавлена в Qt 5.6.
См. также begin(), rbegin(), и rend().
QVarLengthArray::const_reverse_iterator QVarLengthArray::crend() const
Возвращает постоянный обратный итератор STL, указывающий на элемент после последнего элемента в массиве, в обратном порядке.
Эта функция была добавлена в Qt 5.6.
См. также end(), rend() и rbegin().
T *QVarLengthArray::data()
Возвращает указатель на данные, хранящиеся в массиве. Указатель можно использовать для доступа и изменения элементов массива.
Пример:
QVarLengthArray<int> array(10);
int *data = array.data();
for (int i = 0; i < 10; ++i)
data[i] = 2 * i; Указатель остается допустимым до тех пор, пока массив не перераспределяется.
Эта функция в основном полезна для передачи массива функции, которая принимает обычный массив C++.
См. также constData() и operator[]().
const T *QVarLengthArray::data() const
Это перегруженная функция.
bool QVarLengthArray::empty() const
Возвращает true если размер массива равен 0; в противном случае возвращает false.
То же самое, что и isEmpty(). Предоставлено для совместимости со STL.
Эта функция была добавлена в Qt 5.0.
QVarLengthArray::iterator QVarLengthArray::end()
Возвращает итератор STL, указывающий на воображаемый элемент после последнего элемента в массиве.
Эта функция была добавлена в Qt 4.8.
См. также begin() и constEnd().
QVarLengthArray::const_iterator QVarLengthArray::end() const
Это перегруженная функция.
Эта функция была добавлена в Qt 4.8.
QVarLengthArray::iterator QVarLengthArray::erase(QVarLengthArray::const_iterator pos)
Удаляет элемент, на который указывает итератор pos, из вектора и возвращает итератор на следующий элемент в векторе (который может быть end()).
Эта функция была добавлена в Qt 4.8.
См. также insert() и remove().
QVarLengthArray::iterator QVarLengthArray::erase(QVarLengthArray::const_iterator begin, QVarLengthArray::const_iterator end)
Это перегруженная функция.
Удаляет все элементы от begin до (но не включая) end. Возвращает итератор на тот же элемент, на который end ссылался до вызова.
Эта функция была добавлена в Qt 4.8.
T &QVarLengthArray::first()
Возвращает ссылку на первый элемент в массиве. Массив не должен быть пустым. Если массив может быть пустым, проверьте isEmpty() перед вызовом этой функции.
const T &QVarLengthArray::first() const
Это перегруженная функция.
T &QVarLengthArray::front()
То же самое, что и first(). Предоставлено для совместимости со STL.
Эта функция была добавлена в Qt 5.0.
const T &QVarLengthArray::front() const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.0.
int QVarLengthArray::indexOf(const T &value, int from = 0) const
Возвращает позицию индекса первого вхождения value в массиве, ища вперед с позиции индекса from. Возвращает -1, если элемент не найден.
Для этой функции требуется, чтобы тип значения имел реализацию operator==().
Эта функция была добавлена в Qt 5.3.
См. также lastIndexOf() и contains().
void QVarLengthArray::insert(int i, int count, const T &value)
Это перегруженная функция.
Вставляет count копий value в позицию индекса i в векторе.
Эта функция была добавлена в Qt 4.8.
QVarLengthArray::iterator QVarLengthArray::insert(QVarLengthArray::const_iterator before, int count, const T &value)
Вставляет count копий value перед элементом, на который указывает итератор before. Возвращает итератор, указывающий на первый из вставленных элементов.
Эта функция была добавлена в Qt 4.8.
bool QVarLengthArray::isEmpty() const
Возвращает true если размер массива равен 0; в противном случае возвращает false.
T &QVarLengthArray::last()
Возвращает ссылку на последний элемент в массиве. Массив не должен быть пустым. Если массив может быть пустым, проверьте isEmpty() перед вызовом этой функции.
См. также first() и isEmpty().
const T &QVarLengthArray::last() const
Это перегруженная функция.
int QVarLengthArray::lastIndexOf(const T &value, int from = -1) const
Возвращает позицию индекса последнего вхождения значения value в массиве, ища назад с позиции индекса from. Если from равно -1 (по умолчанию), поиск начинается с последнего элемента. Возвращает -1, если элемент не найден.
Для этой функции требуется, чтобы тип значения имел реализацию operator==().
Эта функция была добавлена в Qt 5.3.
См. также indexOf() и contains().
int QVarLengthArray::length() const
То же самое, что и size().
Эта функция была добавлена в Qt 5.0.
См. также isEmpty() и resize().
void QVarLengthArray::pop_back()
То же самое, что и removeLast(). Предоставлено для совместимости со STL.
Эта функция была добавлена в Qt 5.0.
void QVarLengthArray::push_back(const T &t)
Добавляет элемент t в массив, расширяя массив при необходимости. Предоставлено для совместимости со STL.
Эта функция была добавлена в Qt 5.0.
void QVarLengthArray::push_back(T &&t)
Эта функция перегружает push_back.
Примечание: В отличие от перегрузки push_back() для lvalue, передача ссылки на объект, который уже является элементом *this приводит к неопределенному поведению:
vla.push_back(std::move(vla[0])); // BUG: passing an object that is already in the container
Эта функция была добавлена в Qt 5.9.
QVarLengthArray::reverse_iterator QVarLengthArray::rbegin()
Возвращает обратный итератор STL, указывающий на первый элемент в массиве переменной длины в обратном порядке.
Эта функция была добавлена в Qt 5.6.
См. также begin(), crbegin() и rend().
QVarLengthArray::const_reverse_iterator QVarLengthArray::rbegin() const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.6.
void QVarLengthArray::remove(int i)
Это перегруженная функция.
Удаляет элемент в позиции индекса i.
Эта функция была добавлена в Qt 4.8.
См. также insert() и replace().
void QVarLengthArray::remove(int i, int count)
Это перегруженная функция.
Удаляет count элементов из середины массива, начиная с позиции индекса i.
Эта функция была добавлена в Qt 4.8.
См. также insert() и replace().
void QVarLengthArray::removeLast()
Уменьшает размер массива на единицу. Выделенный размер не изменяется.
Эта функция была добавлена в Qt 4.5.
См. также append().
QVarLengthArray::reverse_iterator QVarLengthArray::rend()
Возвращает обратный итератор STL, указывающий на позицию после последнего элемента в массиве переменной длины в обратном порядке.
Эта функция была добавлена в Qt 5.6.
См. также end(), crend() и rbegin().
QVarLengthArray::const_reverse_iterator QVarLengthArray::rend() const
Это перегруженный метод.
Этот метод был введён в Qt 5.6.
void QVarLengthArray::replace(int i, const T &value)
Заменяет элемент с индексом i значением value.
i должен быть допустимым индексом массива (т.е., 0 <= i < size()).
Этот метод был введён в Qt 4.8.
См. также operator[]() и remove().
void QVarLengthArray::reserve(int size)
Попытка выделить память для как минимум size элементов. Если заранее известно, какой может быть максимальный размер массива, можно вызвать этот метод. Если вы часто вызываете resize(), это, скорее всего, улучшит производительность. Если size является заниженной оценкой, худшее, что может произойти, — это немного замедленная работа QVarLengthArray.
Единственная цель этого метода — дать возможность тонкой настройки использования памяти QVarLengthArray. В общем случае вам редко понадобится вызывать этот метод. Если вы хотите изменить размер массива, вызовите resize().
См. также capacity() и squeeze().
void QVarLengthArray::resize(int size)
Устанавливает размер массива в size. Если size больше текущего размера, добавляются элементы в конец. Если size меньше текущего размера, элементы удаляются с конца.
Если тип значения является примитивным типом (например, char, int, float) или типом указателя (например, QWidget *), новые элементы не инициализируются. Для других типов элементы инициализируются с помощью значения по умолчанию.
void QVarLengthArray::shrink_to_fit()
То же, что и squeeze(). Предоставляется для совместимости со STL.
Этот метод был введён в Qt 5.10.
int QVarLengthArray::size() const
Возвращает количество элементов в массиве.
См. также isEmpty() и resize().
void QVarLengthArray::squeeze()
Освобождает любую память, которая не требуется для хранения элементов. Если контейнер может поместиться в стековой области памяти, он освободит выделенную в куче память и скопирует элементы обратно в стек.
Единственная цель этого метода — дать возможность тонкой настройки использования памяти QVarLengthArray. В общем случае вам редко понадобится вызывать этот метод.
Этот метод был введён в Qt 5.1.
См. также reserve(), capacity() и resize().
T QVarLengthArray::value(int i) const
Возвращает значение с индексом i.
Если индекс i вне границ, функция возвращает значение по умолчанию. Если вы уверены, что i находится в границах, можно использовать at(), что немного быстрее.
См. также at() и operator[]().
T QVarLengthArray::value(int i, const T &defaultValue) const
Это перегруженный метод.
Если индекс i вне границ, функция возвращает defaultValue.
QVarLengthArray<T, Prealloc> &QVarLengthArray::operator+=(const T &value)
Добавляет value в конец массива и возвращает ссылку на этот массив.
Этот метод был введён в Qt 4.8.
См. также append() и operator<<().
QVarLengthArray<T, Prealloc> &QVarLengthArray::operator+=(T &&value)
Это перегруженный метод.
Этот метод был введён в Qt 5.11.
См. также append() и operator<<().
QVarLengthArray<T, Prealloc> &QVarLengthArray::operator<<(const T &value)
Добавляет value в конец массива и возвращает ссылку на этот массив.
Этот метод был введён в Qt 4.8.
См. также append() и operator+=().
QVarLengthArray<T, Prealloc> &QVarLengthArray::operator<<(T &&value)
Это перегруженный метод.
Этот метод был введён в Qt 5.11.
См. также append() и operator+=().
QVarLengthArray<T, Prealloc> &QVarLengthArray::operator=(std::initializer_list<T> list)
Присваивает значения из list этому массиву и возвращает ссылку на этот массив.
Этот конструктор доступен только если компилятор поддерживает списки инициализации C++11.
Этот метод был введён в Qt 5.5.
T &QVarLengthArray::operator[](int i)
Возвращает ссылку на элемент с индексом i.
i должен быть допустимым индексом массива (т.е., 0 <= i < size()).
const T &QVarLengthArray::operator[](int i) const
Это перегруженный метод.
Связанные не члены
template <typename T, int Prealloc> uint qHash(const QVarLengthArray<T, Prealloc> &key = Prealloc, uint seed = 0)
Возвращает значение хэш-функции для key, используя seed для инициализации расчёта.
Эта функция была добавлена в Qt 5.14.
template <typename T, int Prealloc1, int Prealloc2> bool operator!=(const QVarLengthArray<T, Prealloc1> &left = Prealloc1, const QVarLengthArray<T, Prealloc2> &right = Prealloc2)
Возвращает true, если два массива, указанные left и right, не равны.
Два массива считаются равными, если они содержат одинаковые значения в одинаковом порядке.
Для этой функции требуется, чтобы тип значения имел реализацию operator==().
Эта функция была добавлена в Qt 4.8.
См. также operator==().
template <typename T, int Prealloc1, int Prealloc2> bool operator<(const QVarLengthArray<T, Prealloc1> &lhs = Prealloc1, const QVarLengthArray<T, Prealloc2> &rhs = Prealloc2)
Возвращает true, если массив переменной длины lhs меньше, чем rhs в лексикографическом порядке; в противном случае возвращает false.
Для этой функции требуется, чтобы тип значения имел реализацию operator<().
Эта функция была добавлена в Qt 5.6.
template <typename T, int Prealloc1, int Prealloc2> bool operator<=(const QVarLengthArray<T, Prealloc1> &lhs = Prealloc1, const QVarLengthArray<T, Prealloc2> &rhs = Prealloc2)
Возвращает true, если массив переменной длины lhs меньше или равен rhs в лексикографическом порядке; в противном случае возвращает false.
Для этой функции требуется, чтобы тип значения имел реализацию operator<().
Эта функция была добавлена в Qt 5.6.
template <typename T, int Prealloc1, int Prealloc2> bool operator==(const QVarLengthArray<T, Prealloc1> &left = Prealloc1, const QVarLengthArray<T, Prealloc2> &right = Prealloc2)
Возвращает true, если два массива, указанные left и right, равны.
Два массива считаются равными, если они содержат одинаковые значения в одинаковом порядке.
Для этой функции требуется, чтобы тип значения имел реализацию operator==().
Эта функция была добавлена в Qt 4.8.
См. также operator!=().
template <typename T, int Prealloc1, int Prealloc2> bool operator>(const QVarLengthArray<T, Prealloc1> &lhs = Prealloc1, const QVarLengthArray<T, Prealloc2> &rhs = Prealloc2)
Возвращает true, если массив переменной длины lhs больше, чем rhs в лексикографическом порядке; в противном случае возвращает false.
Для этой функции требуется, чтобы тип значения имел реализацию operator<().
Эта функция была добавлена в Qt 5.6.
template <typename T, int Prealloc1, int Prealloc2> bool operator>=(const QVarLengthArray<T, Prealloc1> &lhs = Prealloc1, const QVarLengthArray<T, Prealloc2> &rhs = Prealloc2)
Возвращает true, если массив переменной длины lhs больше или равен rhs в лексикографическом порядке; в противном случае возвращает false.
Для этой функции требуется, чтобы тип значения имел реализацию operator<().
Эта функция была добавлена в Qt 5.6.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qvarlengtharray.html