Класс 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 |
Подробное описание
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() << Qt::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/qt-5.14/qstack.html