QT中foreach的使用

 

 

#include <QCoreApplication>
#include <QTextStream>
#include <QDateTime>

int main(int argc, char *argv[])
{


    QCoreApplication a(argc, argv);
    QTextStream out(stdout);
 
   {
        //foreach(QString x, strings)
        //    out << x << endl;
        //
        QStringList slt = {"abc", "qwe", "upo"};
        slt.append("Hello~foreach");
        foreach(QString s , slt )
        {
            out<<s<<endl;
        }
/*
abc
qwe
upo
Hello~foreach
*/
    }

    return a.exec();
}

QT中foreach的使用

https://www.cnblogs.com/lomper/p/3959771.html

在标准C++中,并没有foreach关键字。

但是在QT中,可以使用这一个关键字,其主要原因是QT自己增加了这一个关键字,就像slots和signals、emit等一样。增加的foreach关键字在编译时会进行预处理。

其用法为:

foreach (varItem , Items)  // foreach(variable ,container)

其中,varItem(variable)是容器Items(container)中的一个项,相当于:variable=container.item 。遍历会从头遍历到尾。

如以下代码:

复制代码
QStringList slt = {"abc", "qwe", "upo"};
foreach(QString s , slt )
{
    cout<<s<<endl;
}
// 输出结果为:
abc
qwe
upo
复制代码

在C#、Java等语言中,可以直接使用foreach,为语言自带关键字,用法相似。

其中,在C++11标准中,提供了一种新的语句:范围for (range for) 语句。和这里的foreach用法类似。只是这里使用的是 “:” 而不是 “,” 。

其语法形式为:

for (declaration : expression)

使用时代码如下:(参照foreach代码)

复制代码
QStringList slt = {"abc", "qwe", "upo"};
for(QString s : slt )
{
    cout<<s<<endl;
}
// 输出结果为:
abc
qwe
upo
复制代码

 

作者:Lomper 出处:http://www.cnblogs.com/lomper 关于作者:小菜鸟一枚,欢迎大神指点! 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
 
标签: qt
 

posted on 2014-09-06 20:16 九二 阅读(6072) 评论(0) 编辑 收藏

 
posted @ 2018-04-12 09:35  sky20080101  阅读(200)  评论(0)    收藏  举报