介绍
本文主要讨论C++中常见的几种循环遍历操作的语法:基于迭代器、基于Qt库中的foreach关键字、基于C++11新增的for循环语句。
基于迭代器的遍历
在C++容器中经常需要进行遍历操作,在C++11之前一般使用下面这种方式——基于迭代器的遍历:
QList<QString> list {"a", "b", "c", "d"};
QList<QString>::const_iterator citer = list.cbegin();
for (; citer != list.cend(); ++citer)
qDebug() << (*citer);
获取容器的开始迭代器,然后输入当前迭代器指向的值,将迭代器指向下一个位置,依次下去直到迭代器到达容器尾端迭代器终止遍历操作。这种方式提供了可变迭代器和常量迭代器,前者可以在移动遍历过程中修改容器内容,后者则是只读式的遍历。迭代器作为一种接口,可以很方便的提供给C++中其他标准库调用,如排序、插入