map.insert("beijing","111");
map.insert("shanghai","021");
map.insert("nanjing","025");
QMapIterator<QString,QString> i(map);
for(;i.hasNext();)
{
qDebug()<<" "<<i.key()<<" "<<i.next().value();
}
Java风格的迭代器 最开始迭代器位于第一项的前面 所以一般遍历时首先 先next一下
那上面代码的i.key输出的是什么 为什么不报错
还是和qDebug的输出原理有关??
求解答
3 个解决方案
#1
[Java 的 风格是 hasNext next
STL 的风格是 begin end i++, 楼主的问题解决了吗?同问, 风格
的确是一个问题。
]
STL 的风格是 begin end i++, 楼主的问题解决了吗?同问, 风格
的确是一个问题。
![关于QMapIterator的遍历输出问题 关于QMapIterator的遍历输出问题](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwyWnZjblZ0TG1OelpHNHVibVYwTDFCdmFXNTBSbTl5ZFcwdmRXa3ZjMk55YVhCMGN5OWpjMlJ1TDFCc2RXZHBiaTh3TURNdmIyNXBiMjR2T0RBdVoybG0%3D.jpg?w=700&webp=1)
#1
[Java 的 风格是 hasNext next
STL 的风格是 begin end i++, 楼主的问题解决了吗?同问, 风格
的确是一个问题。
]
STL 的风格是 begin end i++, 楼主的问题解决了吗?同问, 风格
的确是一个问题。
![关于QMapIterator的遍历输出问题 关于QMapIterator的遍历输出问题](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwyWnZjblZ0TG1OelpHNHVibVYwTDFCdmFXNTBSbTl5ZFcwdmRXa3ZjMk55YVhCMGN5OWpjMlJ1TDFCc2RXZHBiaTh3TURNdmIyNXBiMjR2T0RBdVoybG0%3D.jpg?w=700&webp=1)