当前位置:主页 > 软件编程 > C代码 >

Qt 关于容器的遍历迭代器的使用问题小结

时间:2023-01-20 09:34:31 | 栏目:C代码 | 点击:

前言:

Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。

对容器进行遍历通常会使用迭代器,迭代器提供了一个统一的方法来访问容器中的项目。Qt的容器类提供了两种类型的迭代器,一个是Java风格迭代器,一个是STL风格迭代器。一般C++程序员会比较习惯使用STL风格迭代器。如果只想按顺序遍历一个容器中的项目的话,还可以使用Qt的foreach关键字。

面试时,也会对迭代器的相关只是进行提问,这里整理了STL风格迭代器和foreach关键字的相关知识。

STL风格迭代器:

每一个容器类都有两个STL风格迭代器类型,一个提供只读访问,一个提供读/写访问。只读迭代器要比读/写迭代器快很多,所以尽可能使用只读迭代器。

使用方法:

QList<QString> list;
list<<"A"<<"B"<<"C"<<"D";
//只读迭代器
QList<QString>::iterator iter;
for(iter = list.begin(); iter != list.end(); ++iter)
{
    qDebug() <<*iter;
}
//读/写迭代器
QList<QString>::const_iterator constIter;
for(constIter = list.constBegin(); constIter != list.constEnd(); ++constIter)
{
    qDebug() << *constIter;
}

其他:

表达式 行为
*i 返回当前项目
++i 移动迭代器到下一个项目
i += n 使迭代器向后移动n个项目
--i 移动迭代器到上一个项目
i -= n 使迭代器向前移动n个项目
i-j 返回迭代器i和迭代器j之间的项目的数目

foreach关键字:

foreach关键字是Qt向C++语言中添加的一个用来进行容器顺序遍历的关键字。

使用方法:

QList<QString> list;
list<<"A"<<"B"<<"C"<<"D";
foreach(QString str, list)
{
    qDebug() << str;
}

其他:

您可能感兴趣的文章:

相关文章