Класс QStack
Класс QStack — шаблонный класс, предоставляющий стек. Подробнее...
| Заголовок: | #include <QStack> |
| qmake: | QT += core |
| Наследует: | QVector |
Примечание: Все функции в этом классе являются взаимоисключающими.
Открытые функции
| T | pop() |
| void | push(const T &t) |
| void | swap(QStack<T> &other) |
| T & | top() |
| const T & | top() const |
- 96 открытых функций, унаследованных от QVector
Дополнительные унаследованные члены
- 2 статических открытых члена, унаследованные от QVector
Подробное описание
Класс QStack — шаблонный класс, предоставляющий стек.
QStack<T> — один из универсальных контейнерных классов Qt. Он реализует структуру данных стека для элементов одного типа.
Стек — это структура данных «последним вошел, первым вышел» (LIFO). Элементы добавляются в верхнюю часть стека с помощью push() и извлекаются из верхней части с помощью pop(). Функция top() предоставляет доступ к верхнему элементу без его удаления.
Пример:
QStack<int> stack;
stack.push(1);
stack.push(2);
stack.push(3);
while (!stack.isEmpty())
cout << stack.pop() << endl; Пример выведет 3, 2, 1 в таком порядке.
QStack наследуется от QVector. Вся функциональность QVector также применима к QStack. Например, вы можете использовать isEmpty(), чтобы проверить, пуст ли стек, и вы можете пройти по QStack с помощью итераторов QVector (например, QVectorIterator). Но кроме этого, QStack предоставляет три удобные функции, которые упрощают реализацию семантики LIFO: push(), pop() и top().
Тип значения QStack должен быть присваиваемым типом данных. Это относится к большинству типов данных, которые обычно используются, но компилятор не позволит вам, например, хранить QWidget в качестве значения; вместо этого храните QWidget *.
Документация по функциям-членам
T QStack::pop()
Удаляет верхний элемент из стека и возвращает его. Эта функция предполагает, что стек не пуст.
См. также top(), push() и isEmpty().
void QStack::push(const T &t)
Добавляет элемент t в верхнюю часть стека.
Это то же самое, что и QVector::append().
void QStack::swap(QStack<T> &other)
Меняет местами стек other с этим стеком. Эта операция очень быстрая и никогда не терпит неудачу.
Эта функция была введена в Qt 4.8.
T &QStack::top()
Возвращает ссылку на верхний элемент стека. Эта функция предполагает, что стек не пуст.
Это то же самое, что и QVector::last().
См. также pop(), push() и isEmpty().
const T &QStack::top() const
Это перегруженная функция.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qstack.html