一、介绍
如果你想要按顺序遍历容器中的所有项,你可以使用Qt的foreach关键字。这个关键字是Qt特有的,与C++语言无关,并且使用了预处理器实现。
它的语法是:foreach (variable, container) statement
二、实例
遍历QLinkedList<QString>:
QLinkedList<QString> list{ "A","B","C","D","E" };
QString str;
foreach(str, list) {
qDebug() << str;
}
在QMap和QHash中,foreach可以获得键值对中值的部分:
QMap<QString, int> map;
map.insert("Paris",1993);
map.insert("New York",1995);
map.insert("Mexico City",1996);
foreach (const QString &str, map.keys()){
qDebug() << str << ":" << map.value(str);
}
对于一个多值的(multi-valued)map:
QMultiMap<QString, int> map;
map.insert("Paris", 1993);
map.insert("New York", 1993);
map.insert("Mexico City", 1996);
foreach(const QString &str, map.uniqueKeys())
{
foreach(int i, map.values(str))
qDebug() << str << ":" << i;
}