foreach(variables ,container)关键字是Qt对c++的一个扩展,主要用于按顺序历经容器(container)中的对象,例如,输出当前QT支持的数据库驱动:

 

01. #include <QApplication>
02. #include <QtSql/QSqlDatabase>
03. #include <QDebug>
04. #include <QStringList>
05.  
06. int main(int argc,char *argv[])
07. {
08. QApplication a(argc,argv);
09. qDebug()<<"drivers:";
10. QStringList drivers=QSqlDatabase::drivers();
11. foreach(QString driver,drivers)  //遍历所支持的数据库驱动
12. qDebug()<<driver;
13. return a.exec();
14. }
QLinkedList<QString> list; ... QString str; foreach (str, list) qDebug() << str;

如果你想有序迭代容器中的所有项可以使用关键字foreach,这是qt对C++的特定补充,并通过预处理器实现。他的语法是:foreach (variablecontainer) +语句;这儿varible就相当于varible=container.item,只不过这个item会从container的头遍历到尾罢了。

QLinkedList<QString> list;
QLinkedListIterator<QString> i(list); while (i.hasNext()) qDebug() << i.next();
这两个语句达到的目的是一样的
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐