Класс QStack
шаблон <typename T> класс QStackКласс QStack — это шаблонный класс, предоставляющий стек. Подробнее...
| Заголовок: | #include <QStack> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Наследуется от: | QList |
Примечание: Все функции в этом классе являются повторно-входными.
Открытые функции
| 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 наследуется от QList. Все функциональные возможности QList также применимы к QStack. Например, можно использовать isEmpty() для проверки, пуст ли стек, и перебирать QStack с помощью итераторов QList (например, QListIterator). Но помимо этого, QStack предоставляет три удобные функции для реализации семантики LIFO: push(), pop() и top().
Тип значения QStack должен быть типом данных, допускающим присваивание. Это охватывает большинство типов данных, которые обычно используются, но компилятор не позволит, например, хранить QWidget в качестве значения; вместо этого храните указатель на QWidget *.
Документация по функциям-членам
T QStack::pop()
Удаляет верхний элемент из стека и возвращает его. Эта функция предполагает, что стек не пуст.
См. также top(), push() и isEmpty().
void QStack::push(const T &t)
Добавляет элемент t в верхнюю часть стека.
Это то же самое, что QList::append().
void QStack::swap(QStack<T> &other)
Меняет местами стек other с этим стеком. Эта операция очень быстрая и никогда не терпит неудачу.
T &QStack::top()
Возвращает ссылку на верхний элемент стека. Эта функция предполагает, что стек не пуст.
Это то же самое, что QList::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-6.2/qstack.html