引言
若只是单独的遍历容器,不修改容器中元素的值,可以使用foreach来实现,比使用迭代器来遍历元素更简洁,使用foreach迭代器是创建了原来容器的副本,所有不能修改容器中数据。下面看两个示例。
示例
示例一
遍历QMap容器中的参数:
QMap<QString,int> map;
foreach(const QString str,map.keys())
{qDebug()<<str<<":"<<map.value(str);
}
示例二
遍历QMultimap中的元素:
QMultimap<QString,int> mapMul;
foreach(const QString str,mapMul.uniqueKeys())
{foreach(int value,mapMul.values(str)){qDebug()<<str<<":"<<value;}
}
当容器是一键多值的时候采用双循环的方式。