一步步学Qt,第十天-Q”STL”与STL-迭代器
Qt提供了两类的迭代器,Java风格的和STL风格的。她们各自有自己的优势,使用java风格易于使用,使用STL风格的易于与STL的一些算法结合功能变得更加强大。
Java风格的迭代器,要知道他们本身不是直接指向项的,而是在第一项之前,最后以前之后或在两项之间:


QListIterator<int> qlistIterator(list);
while(qlistIterator.hasNext()){
cout << qlistIterator.next() << setw(2);
}
cout << endl;在while中利用next获取了qlistIterator位置下面的一个项的值,并且走到下一个项之前的位置(一定记住,Iterator是在项与项之间的位置上)完整code:
#include <QtCore/QCoreApplication>
#include <QList>
#include <QListIterator>
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QList<int> list;
//set values
int var = 0;
for(int i=0; i<3; i++){
cout << "Enter var's value:";
cin >> var;
list.append(var);
}
//get values
QListIterator<int> qlistIterator(list);
while(qlistIterator.hasNext()){
cout << qlistIterator.next() << setw(2);
}
cout << endl;
return a.exec();
}
运行效果:



3040



被折叠的 条评论
为什么被折叠?



