在C++中,使用for
循环还是Qt提供的foreach
操作符更好(或更快)?例如下面这个条件:
QList<QString> listofstrings;
哪个更好?
foreach(QString str, listofstrings)
{
//code
}
或者int count = listofstrings.count();
QString str = QString();
for(int i=0;i<count;i++)
{
str = listofstrings.at(i);
//Code
}
foreach
,最有可能进行深度复制,即使没有事先进行分析,这也不是您想要的东西。 - Predelnikforeach
宏已经被弃用,请参阅下面的答案以了解详情。 - ymoreau