| 主页 | 所有的类 | 主要的类 | 注释的类 | 分组的类 | 函数 |
QPtrListIterator类提供了QPtrList集合的迭代器。 详情请见……
#include <qptrlist.h>
被QObjectListIt和QStrListIterator继承。
定义一个模板实例QPtrListIterator<X>就创建一个在QPtrList<X>(X*的列表)的一个列表迭代器。
下面的实例和QPtrList类文档中的实例相似,但是它使用了QPtrListIterator。类Employee是在那里定义的。
QPtrList<Employee> list;
list.append( new Employee("John", "Doe", 50000) );
list.append( new Employee("Jane", "Williams", 80000) );
list.append( new Employee("Tom", "Jones", 60000) );
QPtrListIterator<Employee> it( list );
Employee *employee;
while ( (employee = it.current()) != 0 ) {
++it;
cout << employee->surname().latin1() << ", " <<
employee->forename().latin1() << " earns " <<
employee->salary() << endl;
}
输出是
Doe, John earns 50000
Williams, Jane earns 80000
Jones, Tom earns 60000
使用列表迭代器识别使用QPtrList的成员函数first()、next()、current()等等更加强壮的遍历方法,并且许多迭代器可以同时分别地遍历同一个列表。
一个迭代器中有一个它自己的当前列表项并且能够得到下一个和上一个列表项。它不能以任何方式修改这个列表。
当一个项从列表中被移除,所有指向这个项地迭代器都会被更新为指向QPtrList::current()而避免摇摆引用。
也可以参考isEmpty()。
实例:canvas/canvas.cpp、customlayout/card.cpp和customlayout/flow.cpp。
也可以参考count()。
如果当前迭代器项是列表中的最后一项或者如果它为空,返回空。
如果当前迭代器项是列表中的最后一项或者如果它为空,返回空。
如果那个项已经超过最后一个项或者如果列表为空,它设置当前项为空并且返回空。
如果当前迭代器项是列表中的最后一项或者如果它为空,返回空。
如果那个项已经超过第一个项或者如果列表为空,它设置当前项为空并且返回空。
这个文件是Qt工具包一部分。 版权所有 © 1995-2002 Trolltech。保留所有权利。
| Copyright © 2002 Trolltech | Trademarks | 译者:Cavendish | Qt 3.0.5版
|