Spec-Zone.ru › Qt 6.0

Класс QVarLengthArray

шаблон <typename T, qsizetype Prealloc> класс QVarLengthArray

Класс QVarLengthArray предоставляет массив переменной длины низкого уровня. Подробнее...

Заголовок: #include <QVarLengthArray>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются повторно-входными.

Публичные типы

const_iterator
const_pointer
const_reference
const_reverse_iterator
difference_type
iterator
pointer
reference
reverse_iterator
size_type
value_type

Публичные функции

QVarLengthArray(InputIterator first, InputIterator last)
QVarLengthArray(std::initializer_list<T> args)
QVarLengthArray(QVarLengthArray<T, Prealloc> &&other = Prealloc)
QVarLengthArray(const QVarLengthArray<T, Prealloc> &other = Prealloc)
QVarLengthArray(qsizetype size)
QVarLengthArray<T, Prealloc> & operator=(QVarLengthArray<T, Prealloc> &&other = Prealloc)
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, qsizetype size)
const T & at(qsizetype i) const
T & back()
const T & back() const
QVarLengthArray::iterator begin()
QVarLengthArray::const_iterator begin() const
qsizetype 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 AT &value) const
qsizetype 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
qsizetype indexOf(const AT &value, qsizetype from = 0) const
void insert(qsizetype i, T &&value)
void insert(qsizetype i, const T &value)
void insert(qsizetype i, qsizetype count, const T &value)
QVarLengthArray::iterator insert(QVarLengthArray::const_iterator before, qsizetype 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
qsizetype lastIndexOf(const AT &value, qsizetype from = -1) const
qsizetype 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(qsizetype i)
void remove(qsizetype i, qsizetype count)
void removeLast()
QVarLengthArray::reverse_iterator rend()
QVarLengthArray::const_reverse_iterator rend() const
void replace(qsizetype i, const T &value)
void reserve(qsizetype size)
void resize(qsizetype size)
void shrink_to_fit()
qsizetype size() const
void squeeze()
T value(qsizetype i) const
T value(qsizetype 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[](qsizetype i)
const T & operator[](qsizetype i) const

Связанные нечлены

size_t qHash(const QVarLengthArray<T, Prealloc> &key = Prealloc, size_t 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, как и QList, предоставляет структуру данных ресайзируемого массива. Основные различия между двумя классами:

  • API QVarLengthArray намного более низкого уровня и лишен некоторых функций QList.
  • QVarLengthArray не инициализирует память, если значение является базовым типом. (QList всегда делает это.)
  • QList использует неявное совместное использование в качестве оптимизации памяти. QVarLengthArray не предоставляет эту функцию; однако, она обычно производит немного лучшую производительность из-за уменьшенной накладных расходов, особенно в плотных циклах.

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

См. также QList.

Документация по типам членов

QVarLengthArray::const_iterator

Тип-псевдоним для const T *. Предоставлен для совместимости со STL.

QVarLengthArray::const_pointer

Тип-псевдоним для const T *. Предоставлен для совместимости со STL.

QVarLengthArray::const_reference

Тип-псевдоним для const T &. Предоставлен для совместимости со STL.

[since 5.6] QVarLengthArray::const_reverse_iterator

Тип-псевдоним для std::reverse_iterator<const T*>. Предоставлен для совместимости со STL.

Этот тип-псевдоним был введён в Qt 5.6.

QVarLengthArray::difference_type

Тип-псевдоним для ptrdiff_t. Предоставлен для совместимости со STL.

QVarLengthArray::iterator

Тип-псевдоним для T *. Предоставлен для совместимости со STL.

QVarLengthArray::pointer

Тип-псевдоним для T *. Предоставлен для совместимости со STL.

QVarLengthArray::reference

Тип-псевдоним для T &. Предоставлен для совместимости со STL.

[since 5.6] QVarLengthArray::reverse_iterator

Тип-псевдоним для std::reverse_iterator<T*>. Предоставлен для совместимости со STL.

Этот тип-псевдоним был введён в Qt 5.6.

QVarLengthArray::size_type

Тип-псевдоним для int. Предоставлен для совместимости со STL.

QVarLengthArray::value_type

Тип-псевдоним для T. Предоставлен для совместимости со STL.

Документация по функциям-членам

QVarLengthArray::iterator QVarLengthArray::insert(QVarLengthArray::const_iterator before, T &&value)

QVarLengthArray::iterator QVarLengthArray::insert(QVarLengthArray::const_iterator before, const T &value)

Это перегруженная функция.

Вставляет value перед элементом, на который указывает итератор before. Возвращает итератор, указывающий на вставленный элемент.

void QVarLengthArray::insert(qsizetype i, T &&value)

void QVarLengthArray::insert(qsizetype i, const T &value)

Вставляет value в позицию с индексом i в массиве. Если i равно 0, значение добавляется в начало вектора. Если i равно size(), значение добавляется в конец вектора.

Для больших массивов эта операция может быть медленной (линейное время), так как требует перемещения всех элементов с индексами i и выше на одну позицию дальше в памяти. Если вам нужен класс контейнера, который предоставляет быструю функцию insert(), используйте std::list вместо него.

См. также remove().

void QVarLengthArray::prepend(T &&value)

void QVarLengthArray::prepend(const T &value)

Вставляет value в начало массива.

Это то же самое, что vector.insert(0, value).

Для больших массивов эта операция может быть медленной (линейное время), так как требует перемещения всех элементов вектора на одну позицию дальше в памяти. Если вам нужен класс контейнера, который предоставляет быструю функцию prepend(), используйте std::list вместо него.

См. также append() и insert().

[since 5.14] template <typename InputIterator> QVarLengthArray::QVarLengthArray(InputIterator first, InputIterator last)

Создаёт массив со содержимым в диапазоне итераторов [first, last).

Тип значения InputIterator должен быть приводимым к T.

Эта функция была добавлена в Qt 5.14.

[since 5.5] QVarLengthArray::QVarLengthArray(std::initializer_list<T> args)

Создаёт массив из переданного std::initializer_list args.

Этот конструктор включён только если компилятор поддерживает списки инициализации C++11.

Эта функция была добавлена в Qt 5.5.

[since 6.0] QVarLengthArray::QVarLengthArray(QVarLengthArray<T, Prealloc> &&other = Prealloc)

Перемещающий конструктор этого массива переменной длины из other. После перемещения other пустой.

Эта функция была добавлена в Qt 6.0.

QVarLengthArray::QVarLengthArray(const QVarLengthArray<T, Prealloc> &other = Prealloc)

Создаёт копию other.

QVarLengthArray::QVarLengthArray(qsizetype size)

Создаёт массив с начальным размером size элементов.

Если тип значения — примитивный тип (например, char, int, float) или указатель (например, QWidget *), элементы не инициализируются. Для других типов элементы инициализируются со значением по умолчанию.

[since 6.0] QVarLengthArray<T, Prealloc> &QVarLengthArray::operator=(QVarLengthArray<T, Prealloc> &&other = Prealloc)

Перемещающее присваивание other этому массиву и возвращает ссылку на этот массив. После перемещения other пустой.

Эта функция была добавлена в Qt 6.0.

QVarLengthArray<T, Prealloc> &QVarLengthArray::operator=(const QVarLengthArray<T, Prealloc> &other = Prealloc)

Присваивает other этому массиву и возвращает ссылку на этот массив.

QVarLengthArray::~QVarLengthArray()

Уничтожает массив.

void QVarLengthArray::append(const T &t)

Добавляет элемент t в конец массива, увеличивая его размер при необходимости.

См. также removeLast().

[since 5.9] void QVarLengthArray::append(T &&t)

Эта функция перегружает append.

Примечание: В отличие от перегрузки append() для lvalue, передача ссылки на объект, который уже является элементом *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, qsizetype size)

Добавляет size элементов, ссылающихся на buf, в этот массив.

const T &QVarLengthArray::at(qsizetype i) const

Возвращает ссылку на элемент с индексом i.

i должен быть корректным индексом в массиве (т.е., 0 <= i < size()).

См. также value() и operator[]().

[since 5.0] T &QVarLengthArray::back()

То же, что и last(). Предоставлено для совместимости со STL.

Эта функция была добавлена в Qt 5.0.

[since 5.0] const T &QVarLengthArray::back() const

Это перегруженная функция.

Эта функция была добавлена в Qt 5.0.

QVarLengthArray::iterator QVarLengthArray::begin()

Возвращает итератор STL, указывающий на первый элемент массива.

См. также constBegin() и end().

QVarLengthArray::const_iterator QVarLengthArray::begin() const

Это перегруженная функция.

qsizetype QVarLengthArray::capacity() const

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

Единственная цель этой функции — предоставить средство тонкой настройки использования памяти QVarLengthArray. В общем случае вам редко понадобится вызывать эту функцию. Если вам нужно узнать, сколько элементов находится в массиве, вызовите size().

См. также reserve() и squeeze().

[since 5.0] QVarLengthArray::const_iterator QVarLengthArray::cbegin() const

Возвращает константный итератор STL, указывающий на первый элемент массива.

Эта функция была добавлена в Qt 5.0.

См. также begin() и cend().

[since 5.0] QVarLengthArray::const_iterator QVarLengthArray::cend() const

Возвращает константный итератор STL, указывающий на воображаемый элемент после последнего элемента в массиве.

Эта функция была добавлена в Qt 5.0.

См. также cbegin() и end().

void QVarLengthArray::clear()

Удаляет все элементы из массива.

То же самое, что resize(0).

QVarLengthArray::const_iterator QVarLengthArray::constBegin() const

Возвращает константный итератор STL, указывающий на первый элемент в массиве.

См. также begin() и constEnd().

const T *QVarLengthArray::constData() const

Возвращает константный указатель на данные, хранящиеся в массиве. Указатель может использоваться для доступа к элементам массива. Указатель остаётся допустимым до тех пор, пока массив не перераспределяется.

Эта функция в основном полезна для передачи массива функции, принимающей обычный массив C++.

См. также data() и operator[]().

QVarLengthArray::const_iterator QVarLengthArray::constEnd() const

Возвращает константный итератор STL, указывающий на воображаемый элемент после последнего элемента в массиве.

См. также constBegin() и end().

[since 5.3] template <typename AT> bool QVarLengthArray::contains(const AT &value) const

Возвращает true если массив содержит вхождение value; в противном случае возвращает false.

Для этой функции необходима реализация operator==() для типа значения.

Эта функция была добавлена в Qt 5.3.

См. также indexOf() и lastIndexOf().

qsizetype QVarLengthArray::count() const

То же, что и size().

См. также isEmpty() и resize().

[since 5.6] QVarLengthArray::const_reverse_iterator QVarLengthArray::crbegin() const

Возвращает константный итератор обратного порядка STL, указывающий на первый элемент в массиве переменной длины в обратном порядке.

Эта функция была добавлена в Qt 5.6.

См. также begin(), rbegin() и rend().

[since 5.6] 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

Это перегруженная функция.

[since 5.0] bool QVarLengthArray::empty() const

Возвращает true, если размер массива равен 0; в противном случае возвращает false.

То же самое, что и isEmpty(). Предоставлено для совместимости со STL.

Эта функция была добавлена в Qt 5.0.

QVarLengthArray::iterator QVarLengthArray::end()

Возвращает итератор STL, указывающий на воображаемый элемент после последнего элемента в массиве.

См. также begin() и constEnd().

QVarLengthArray::const_iterator QVarLengthArray::end() const

Это перегруженная функция.

QVarLengthArray::iterator QVarLengthArray::erase(QVarLengthArray::const_iterator pos)

Удаляет элемент, на который указывает итератор pos, из вектора и возвращает итератор на следующий элемент в векторе (который может быть end()).

См. также insert() и remove().

QVarLengthArray::iterator QVarLengthArray::erase(QVarLengthArray::const_iterator begin, QVarLengthArray::const_iterator end)

Это перегруженная функция.

Удаляет все элементы от begin до (но не включая) end. Возвращает итератор, который ссылался на тот же элемент, что и end, до вызова.

T &QVarLengthArray::first()

Возвращает ссылку на первый элемент в массиве. Массив не должен быть пустым. Если массив может быть пустым, проверьте isEmpty() перед вызовом этой функции.

См. также last() и isEmpty().

const T &QVarLengthArray::first() const

Это перегруженная функция.

[since 5.0] T &QVarLengthArray::front()

То же самое, что и first(). Предоставлено для совместимости со STL.

Эта функция была добавлена в Qt 5.0.

[since 5.0] const T &QVarLengthArray::front() const

Это перегруженная функция.

Эта функция была добавлена в Qt 5.0.

[since 5.3] template <typename AT> qsizetype QVarLengthArray::indexOf(const AT &value, qsizetype from = 0) const

Возвращает позицию индекса первого вхождения value в массив, выполняя поиск вперед с позиции индекса from. Возвращает -1, если элемент не найден.

Эта функция требует, чтобы тип значения имел реализацию operator==().

Эта функция была добавлена в Qt 5.3.

См. также lastIndexOf() и contains().

void QVarLengthArray::insert(qsizetype i, qsizetype count, const T &value)

Это перегруженная функция.

Вставляет count копий value в позицию индекса i в векторе.

QVarLengthArray::iterator QVarLengthArray::insert(QVarLengthArray::const_iterator before, qsizetype count, const T &value)

Вставляет count копий value перед элементом, на который указывает итератор before. Возвращает итератор, указывающий на первый из вставленных элементов.

bool QVarLengthArray::isEmpty() const

Возвращает true, если размер массива равен 0; в противном случае возвращает false.

См. также size() и resize().

T &QVarLengthArray::last()

Возвращает ссылку на последний элемент в массиве. Массив не должен быть пустым. Если массив может быть пустым, проверьте isEmpty() перед вызовом этой функции.

См. также first() и isEmpty().

const T &QVarLengthArray::last() const

Это перегруженная функция.

[since 5.3] template <typename AT> qsizetype QVarLengthArray::lastIndexOf(const AT &value, qsizetype from = -1) const

Возвращает позицию индекса последнего вхождения значения value в массиве, выполняя поиск назад с позиции индекса from. Если from равно -1 (по умолчанию), поиск начинается с последнего элемента. Возвращает -1, если элемент не найден.

Эта функция требует, чтобы тип значения имел реализацию operator==().

Эта функция была добавлена в Qt 5.3.

См. также indexOf() и contains().

[since 5.0] qsizetype QVarLengthArray::length() const

То же самое, что и size().

Эта функция была добавлена в Qt 5.0.

См. также isEmpty() и resize().

[since 5.0] void QVarLengthArray::pop_back()

То же самое, что и removeLast(). Предоставлено для совместимости со STL.

Эта функция была добавлена в Qt 5.0.

[since 5.0] void QVarLengthArray::push_back(const T &t)

Добавляет элемент t в конец массива, расширяя массив при необходимости. Предоставлено для совместимости со STL.

Эта функция была добавлена в Qt 5.0.

[since 5.9] 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.

[since 5.6] QVarLengthArray::reverse_iterator QVarLengthArray::rbegin()

Возвращает итератор обратного порядка STL, указывающий на первый элемент в массиве переменной длины в обратном порядке.

Эта функция была добавлена в Qt 5.6.

См. также begin(), crbegin() и rend().

[since 5.6] QVarLengthArray::const_reverse_iterator QVarLengthArray::rbegin() const

Это перегруженная функция.

Эта функция была добавлена в Qt 5.6.

void QVarLengthArray::remove(qsizetype i)

Это перегруженная функция.

Удаляет элемент по индексу i.

См. также insert() и replace().

void QVarLengthArray::remove(qsizetype i, qsizetype count)

Это перегруженная функция.

Удаляет count элементов из середины массива, начиная с индекса i.

См. также insert() и replace().

void QVarLengthArray::removeLast()

Уменьшает размер массива на один элемент. Размер выделенной памяти не изменяется.

См. также append().

[since 5.6] QVarLengthArray::reverse_iterator QVarLengthArray::rend()

Возвращает обратный итератор STL, указывающий на элемент, следующий за последним элементом в массиве, в обратном порядке.

Эта функция была добавлена в Qt 5.6.

См. также end(), crend() и rbegin().

[since 5.6] QVarLengthArray::const_reverse_iterator QVarLengthArray::rend() const

Это перегруженная функция.

Эта функция была добавлена в Qt 5.6.

void QVarLengthArray::replace(qsizetype i, const T &value)

Заменяет элемент с индексом i значением value.

i должен быть корректным индексом массива (т.е., 0 <= i < size()).

См. также operator[]() и remove().

void QVarLengthArray::reserve(qsizetype size)

Пытается выделить память для, по крайней мере, size элементов. Если вы заранее знаете, какой может быть размер массива, вы можете вызвать эту функцию. Если вы часто вызываете resize(), это может улучшить производительность. Если size является недооценкой, худшее, что может произойти, это немного замедление работы QVarLengthArray.

Единственная цель этой функции — предоставить способ точной настройки использования памяти QVarLengthArray. Как правило, вам редко нужно будет вызывать эту функцию. Если вы хотите изменить размер массива, вызовите resize().

См. также capacity() и squeeze().

void QVarLengthArray::resize(qsizetype size)

Устанавливает размер массива в size. Если size больше текущего размера, добавляются элементы в конец. Если size меньше текущего размера, элементы удаляются с конца.

Если тип значения — примитивный тип (например, char, int, float) или указатель (например, QWidget *), новые элементы не инициализируются. Для других типов элементы инициализируются со значением по умолчанию.

См. также size() и squeeze().

[since 5.10] void QVarLengthArray::shrink_to_fit()

То же, что и squeeze(). Предоставлено для совместимости со STL.

Эта функция была добавлена в Qt 5.10.

qsizetype QVarLengthArray::size() const

Возвращает количество элементов в массиве.

См. также isEmpty() и resize().

[since 5.1] void QVarLengthArray::squeeze()

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

Единственная цель этой функции — предоставить способ точной настройки использования памяти QVarLengthArray. Как правило, вам редко нужно будет вызывать эту функцию.

Эта функция была добавлена в Qt 5.1.

См. также reserve(), capacity() и resize().

T QVarLengthArray::value(qsizetype i) const

Возвращает значение по индексу i.

Если индекс i находится за пределами массива, функция возвращает значение по умолчанию. Если вы уверены, что i находится в пределах массива, используйте at(), что немного быстрее.

См. также at() и operator[]().

T QVarLengthArray::value(qsizetype i, const T &defaultValue) const

Это перегруженная функция.

Если индекс i находится за пределами массива, функция возвращает defaultValue.

QVarLengthArray<T, Prealloc> &QVarLengthArray::operator+=(const T &value)

Добавляет value в конец массива и возвращает ссылку на этот массив.

См. также append() и operator<<().

[since 5.11] QVarLengthArray<T, Prealloc> &QVarLengthArray::operator+=(T &&value)

Это перегруженная функция.

Эта функция была добавлена в Qt 5.11.

См. также append() и operator<<().

QVarLengthArray<T, Prealloc> &QVarLengthArray::operator<<(const T &value)

Добавляет value в конец массива и возвращает ссылку на этот массив.

См. также append() и operator+=().

[since 5.11] QVarLengthArray<T, Prealloc> &QVarLengthArray::operator<<(T &&value)

Это перегруженная функция.

Эта функция была добавлена в Qt 5.11.

См. также append() и operator+=().

[since 5.5] QVarLengthArray<T, Prealloc> &QVarLengthArray::operator=(std::initializer_list<T> list)

Присваивает значения из list этому массиву и возвращает ссылку на этот массив.

Этот конструктор включён только если компилятор поддерживает C++11 списки инициализации.

Эта функция была добавлена в Qt 5.5.

T &QVarLengthArray::operator[](qsizetype i)

Возвращает ссылку на элемент по индексу i.

i должен быть корректным индексом массива (т.е., 0 <= i < size()).

См. также data() и at().

const T &QVarLengthArray::operator[](qsizetype i) const

Это перегруженная функция.

Связанные нечлены

[since 5.14] template <typename T, qsizetype Prealloc> size_t qHash(const QVarLengthArray<T, Prealloc> &key = Prealloc, size_t seed = 0)

Возвращает значение хэша для key, используя seed в качестве начального значения для расчёта.

Эта функция была добавлена в Qt 5.14.

template <typename T, qsizetype Prealloc1, qsizetype Prealloc2> bool operator!=(const QVarLengthArray<T, Prealloc1> &left = Prealloc1, const QVarLengthArray<T, Prealloc2> &right = Prealloc2)

Возвращает true, если два массива, заданные left и right, не равны.

Два массива считаются равными, если они содержат одинаковые значения в одинаковом порядке.

Для этой функции требуется, чтобы тип значения имел реализацию operator==().

См. также operator==().

[since 5.6] template <typename T, qsizetype Prealloc1, qsizetype Prealloc2> bool operator<(const QVarLengthArray<T, Prealloc1> &lhs = Prealloc1, const QVarLengthArray<T, Prealloc2> &rhs = Prealloc2)

Возвращает true, если массив переменной длины lhs лексикографически меньше rhs; в противном случае возвращает false.

Для этой функции требуется, чтобы тип значения имел реализацию operator<().

Эта функция была добавлена в Qt 5.6.

[since 5.6] template <typename T, qsizetype Prealloc1, qsizetype 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, qsizetype Prealloc1, qsizetype Prealloc2> bool operator==(const QVarLengthArray<T, Prealloc1> &left = Prealloc1, const QVarLengthArray<T, Prealloc2> &right = Prealloc2)

Возвращает true, если два массива, заданные left и right, равны.

Два массива считаются равными, если они содержат одинаковые значения в одинаковом порядке.

Для этой функции требуется, чтобы тип значения имел реализацию operator==().

См. также operator!=().

[since 5.6] template <typename T, qsizetype Prealloc1, qsizetype Prealloc2> bool operator>(const QVarLengthArray<T, Prealloc1> &lhs = Prealloc1, const QVarLengthArray<T, Prealloc2> &rhs = Prealloc2)

Возвращает true, если массив переменной длины lhs лексикографически больше rhs; в противном случае возвращает false.

Для этой функции требуется, чтобы тип значения имел реализацию operator<().

Эта функция была добавлена в Qt 5.6.

[since 5.6] template <typename T, qsizetype Prealloc1, qsizetype 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-6.0/qvarlengtharray.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API