Qt中Map遍历遇到的问题


QMap<QString,QList<QString>> m_GPointMap;



QMap<QString,QList<QString>>::iterator tier;
for(iter = m_GpointMap.begin(); iter != m_GPointMap.end(); ++iter){
    qDebug()<<iter.key();
}

QMap<QString,QList<QString>>::iterator iter2 = m_GPointMap.begin();
while(iter2 != m_GPointMap.end(){
    qDebug()<<iter.key();
}

当前有一个Map类型的m_GPointMap,为什么第一种遍历可以实现,而第二种遍历方式会无限遍历?
求DL解答!!

img



```c++
QMap<QString,QList<QString>>::iterator iter2 = m_GPointMap.begin();
while(iter2 != m_GPointMap.end(){
    qDebug()<<iter2 .key();
    iter2++; 
}

```

iter2++,第二种没有累加,一直都在第一个

  • 可以看下qt参考手册中的 qt Map