返回介绍

QPtrStack类

发布于 2019-10-04 15:02:07 字数 3355 浏览 963 评论 0 收藏 0

QPtrQueue类是一个提供栈的模板类。 详情请见……

#include <qptrstack.h>

所有成员函数的列表。

公有成员

  • QPtrStack ()
  • QPtrStack ( constQPtrStack<type>&s )
  • ~QPtrStack ()
  • QPtrStack<type> & operator= ( constQPtrStack<type>&s )
  • bool autoDelete () const
  • void setAutoDelete ( boolenable )
  • uint count () const
  • bool isEmpty () const
  • void push ( consttype*d )
  • type * pop ()
  • bool remove ()
  • void clear ()
  • type * top () const
  • operator type * () const
  • type * current () const

保护成员

  • virtual QDataStream & read ( QDataStream&s, QPtrCollection::Item&item )
  • virtual QDataStream & write ( QDataStream&s, QPtrCollection::Itemitem ) const

详细描述

QPtrQueue类是一个提供栈的模板类。

QValueStack是可以替代这个类的的一个可兼容STL的的选择。

定义一个模板实例QPtrStack<X>就创建了一个操作X(X*)指针的队列。

栈就是后进先出的结构。可以通过push()把项添加到栈的顶端并且可以通过pop()可以重新获得顶端的项。使用top()可以得到栈的顶端元素的应用而不改变它。

你可以用setAutoDelete()来控制栈删除策略。

为了兼容QPtrCollection类,current()和remove()都被提供,两个都基于top()操作。

也可以参考QPtrList、QPtrQueue和非GUI类。


成员函数文档

QPtrStack::QPtrStack ()

创建一个空栈。

QPtrStack::QPtrStack ( constQPtrStack<type>&s )

通过浅复制另一个栈s来构造一个栈。

QPtrStack::~QPtrStack ()

销毁这个栈。如果autoDelete()为真,栈中的项被删除。

bool QPtrStack::autoDelete () const

和QPtrCollection::autoDelete()相同。

也可以参考setAutoDelete()。

void QPtrStack::clear ()

从栈中移除所有项,并且如果autoDelete()为真,就删除它们。

也可以参考remove()。

uint QPtrStack::count () const

返回栈中项的数量。

也可以参考isEmpty()。

type * QPtrStack::current () const

返回栈中顶端元素的引用(最近被放入的)。栈不被改变。

bool QPtrStack::isEmpty () const

如果栈没有任何元素可以被弹出,返回真,否则返回假。

QPtrStack::operator type * () const

返回栈中顶端元素的引用(最近被放入的)。栈不被改变。

QPtrStack<type>& QPtrStack::operator= ( constQPtrStack<type>&s )

通过给另一个栈s做浅复制来设置这个栈的内容。如果autoDelete()设置为真,这个栈当前的元素将被删除。

type * QPtrStack::pop ()

从栈中删除顶端项并且返回它。

void QPtrStack::push ( consttype*d )

把元素d添加到栈的顶端。后进先出。

QDataStream& QPtrStack::read ( QDataStream&s, QPtrCollection::Item&item ) [virtual protected]

从流s中读取一个栈项item并且返回流的引用。

默认实现是设置item为0。

也可以参考write()。

bool QPtrStack::remove ()

从栈中移除顶端项并且如果autoDelete()为真就删除它。如果有元素可以弹出,返回真,否则返回假。

也可以参考clear()。

void QPtrStack::setAutoDelete ( boolenable )

定义这个栈是否自动删除它的内容。和QPtrCollection::setAutoDelete()一样。

如果enable为真,栈会自动删除它的内容,如果enable为假,栈不会删除它的内容。

也可以参考autoDelete()。

type * QPtrStack::top () const

返回栈中顶端元素的引用(最近被放入的)。栈不被改变。

QDataStream& QPtrStack::write ( QDataStream&s, QPtrCollection::Itemitem ) const [virtual protected]

写一个栈项item到流s中并且返回流的引用。

默认实现是不做任何事。

也可以参考read().

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文