您好,欢迎访问代码之道!登录后台查看权限
  • 欢迎大神光临
  • 有朋自远方来 不亦悦乎

QMap循环中删除元素

杂文 huazai520 2019-12-11 102 次浏览 0个评论

QMap删除元素

#include <QCoreApplication>
#include <QMap>
#include <QDebug>

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

    QMap<QString, QString *> map;
    map.insert("test1", new QString("test1"));
    map.insert("test2", new QString("test2"));
    QMapIterator<QString,QString*>i(map);

    while(i.hasNext()) {
       auto item =  i.next();
       qDebug() << item.key();
       if (item.key() == "test1") {
           map.remove(item.key());
           delete item.value();
       }
    }

    QMapIterator<QString,QString*>i2(map);
    while(i2.hasNext()) {
       auto item =  i2.next();
       qDebug() << item.key();
    }

    qDebug() << "end";

    return a.exec();
}

QMap循环中删除元素.png

已有 102 位网友参与,快来吐槽:

发表评论