可以遍历容器的每个元素,格式如下
foreach (var, container) {
}
例如利用foreach遍历QVector中每个元素
class MyStruct{
public:
int m_a = 0;
int m_b = 0;
QString m_str = "";
};
void main()
{
QVector<MyStruct> test_vector(3);
test_vector[0].m_a = 1;
test_vector[2].m_str = "hi world";
foreach(MyStruct temp_struct, test_vector){//利用temp_struct遍历test_vetor中的每个元素
qDebug()<<temp_struct.m_a<<<<temp_struct.m_b<<temp_struct.m_str;
}
}
一定要注意foreach仅能访问容器中的元素(不是浅拷贝),并不能对容器中元素进行写操作
输出:
1 0 “”
0 0 “”
0 0 “hi world”