Notes_STL_List_And_Map
//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;
}
Notes_STL_List_And_Map的更多相关文章
随机推荐
- Golang---序列化和反序列化
为什么要序列化和反序列化 我们的数据对象要在网络中传输或保存到文件,就需要对其编码和解码动作,目前存在很多编码格式:json, XML, Gob, Google Protocol Buffer 等, ...
- SAP_BASIS常用事务代码
1.SM66:监控当前系统的所有进程: 2.SM50/SM51:监视当前客户端的所有进程: 3.AL08:查看系统当前用户登录情况: 4.ST22:查看系统发生的DUMP: 5.ST03:查看系统当前 ...
- POJ 1035:Spell checker
Spell checker Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 22574 Accepted: 8231 De ...
- Tensorflow学习教程------Fetch and Feed
#coding:utf-8 import tensorflow as tf #Fetch input1 = tf.constant(3.0) input2 = tf.constant(1.0) inp ...
- redis常用命令--strings
strings常用命令: set key value:存值 get key:取值 append key value:在值后追加值 strlen key:获取长度 mset key1 value1 ke ...
- M内核迎来大BOSS,ARM发布Cortex-M55配NPU Ethos-U55 ,带来无与伦比的性能提升
说明: 全球顶级嵌入式会展Embedded Word2020这个月底就开了,各路厂家都将拿出看家本领. 先回顾下去年的消息: 1.去年年初的时候ARM发布Armv8.1-M架构,增加了Arm Heli ...
- 最短路问题--Floyd 畅通工程续
畅通工程续 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让行人很 ...
- C#用户控件的使用
1.添加一个用户控件 2.编辑用户控件,相当于自己定义了一个控件,和其他控件一样在窗体中使用,是一个类. 右击项目,生成一下,就可以看到窗体的工具箱上面多了一组工具,可以看到我们定义的控件login ...
- Java之创建线程的方式三:实现Callable接口
import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util ...
- MySQL主主、主从、从从配置文件
主配置文件: [root@sun01 ~]# more /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql. ...