//Description: 使用STL遇到的问题

//Create Date: 2019-07-08 09:19:15

//Author: channy

Notes_STL_List_And_Map

已知:erase后迭代器会失效,已经重置了迭代器

问题:程序依旧会崩溃

原因:此代码中原因还未知。工作代码中出现过erase的是局部变量,实际上map还是没有erase

跟进:过了几天再试又好了。。。

(没有经历过把bug解释为神学的程序员不是好程序员)

代码:

#include <QCoreApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
//QCoreApplication a(argc, argv); QList<int> ql;
qDebug() << ql.size(); QMap<int, QList<int>> qm;
qm[0] = ql; for (QMap<int, QList<int>>::iterator iter = qm.begin(); iter != 大专栏  Notes_STL_List_And_Map"n">qm.end(); iter++) { qDebug() << qm.size(); for (QList<int>::iterator itr = iter->begin(); itr != iter->end(); itr++) {
itr = iter->erase(itr);
} if (iter->size() == 0) {
iter = qm.erase(iter);
//如果不加下面的判断,会崩溃。。。iter != qm.end() == true. But why???
if (qm.size() == 0) break;
}
} //return a.exec();
return 0;
}

back

Notes_STL_List_And_Map的更多相关文章

随机推荐

  1. 吴裕雄--天生自然TensorFlow2教程:填充与复制

    import tensorflow as tf a = tf.reshape(tf.range(9), [3, 3]) a tf.pad(a, [[0, 0], [0, 0]]) tf.pad(a, ...

  2. vue-cli3.x 搭建项目目

    安装文档 https://cli.vuejs.org/zh/guide/ 安装条件 npm 更至最新 node >=8.9 可以用npm -v 查看npm的版本号 1.关于旧版本 Vue CLI ...

  3. SAP_ABAP常用事务代码

    ST05: 性能跟踪(Performance Trace) SE30/SAT: ABAP对象性能分析 ST12: 单个对象性能分析(Single transaction analysis)

  4. ArchLinux安装Gnome桌面

    给Arch安装Gnome桌面美化及常用软件配置 一.创建普通用户 1.安装zsh 个人比较喜欢的一个shell,你们可以和我不同 # pacman -S zsh 2.创建用户 kain是我创建用户的名 ...

  5. 18 12 28 css 浮动 定位

    浮动 浮动特性 1.浮动元素有左浮动(float:left)和右浮动(float:right)两种 2.浮动的元素会向左或向右浮动,碰到父元素边界.其他元素才停下来 3.相邻浮动的块元素可以并在一行, ...

  6. 谈IO中的阻塞和非阻塞,同步和异步及三种IO模型

    什么是同步和异步? 烧水,我们都是通过热水壶来烧水的.在很久之前,科技还没有这么发达的时候,如果我们要烧水,需要把水壶放到火炉上,我们通过观察水壶内的水的沸腾程度来判断水有没有烧开.随着科技的发展,现 ...

  7. Delphi生成即调用带窗体的Dll

    library frmDll; { Important note about DLL memory management: ShareMem must be the first unit in you ...

  8. CentOS 7.3 下部署基于 Node.js的微信小程序商城

    本文档为微信小程序商城NideShop项目的安装部署教程,欢迎star NideShop商城api服务:https://github.com/tumobi/nideshop NideShop微信小程序 ...

  9. winform显示、隐藏任务栏及开始菜单

    private const int SW_HIDE = 0; //隐藏 private const int SW_RESTORE = 9;//显示 /// <summary> /// 获取 ...

  10. VUE- iView组件框架的使用

    VUE- iView组件框架的使用 1. 下载iView 工程. 引用:https://www.iviewui.com/