deque iterator not dereferencable 问题
STL里面出现这个问题,纠结了半天,不知道什么原因。
当然deque iterator not dereferencable。这个是deque出问题,vector、list也可以出问题的。也有很多人提问,但是回答的人很少。
最后还是找到一些答案了。
出现这种情况有两种可能。
第一:访问某一个不存在的位置。
比如:
#include<iostream>
#include <queue>
using namespace std;int main()
{queue<int> x;for(int i = 0;i < 10;i++){x.push(i+1);}while(!x.empty()){cout << x.front() << " ";x.pop();x.push(x.front());x.pop();}cout << endl;return 0;
}
这个例子在百度上面找到的,由于x.front()没有元素访问了 ,倒置出现这种错误。
所以:访问前一定要判断是否存在。
第二:在多线程编程里面,这种问题也出现的比较多。
两个线程同时访问同一个容器,也会导致出现这种情况。
解决办法:关键代码段。
不建议用互斥内核对象是因为关键代码段是用户层的,调用很快,互斥内核对象调用需要从用户态转入内核态!时间很长!
deque iterator not dereferencable 问题相关推荐
- map/set iterator not dereferencable
std::map<int, std::string> map; map[1] = "hello world"; auto iter = map.find(0); pri ...
- 平时刷题遇到的一些常见问题
文章目录 1.头文件 2.输入多组数据(未知长度) 3.常见的输出方式 (1)整体输出 (2)反向输出 (3)控制输出精确度 (4)输出后面无空格(vector) (5)list不能随机访问,可以转换 ...
- [C++]Deque with iterator实现细节
https://blog.csdn.net/stary_yan/article/details/51601523 Deque with iterator实现细节 一.deque的中控器 deque是连 ...
- C++ STL学习笔记(5) Vector容器, array容器,deque容器
动态增长的数组vector,当它放入的元素满了的时候,会自动的扩充内存,但是,在计算机中内存不能够实现原地扩充,因为在申请了一块固定大小的内存之后,这块内存不管有没有用完,他后面的内存都有可能别的内容 ...
- C++---deque双端队列
deque deque双端队列,是C++,STL标准模板库中提供的一种容器. 什么是双队列 队列:是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear) ...
- Java中集合遍历方式(List、Set、Queue、Deque、Stack、Map)
什么是集合?通俗的讲,集合就是存储一组数据的容器,那么,相比较于同样是存储数据的数组,集合的优势就体现在集合的长度是可变的,而数组的长度是固定的.在我们常见的集合中,主要有两大类: Collectio ...
- 每日一题(合并表格)
前言:为了让小伙伴更方便的学习编程语言,小白每天都会分享一道编程题.小白也创建了一个微信公众号,会同步更新题目和相关的视觉领域的知识,如果小伙伴不方便在网页上阅读文章,可以关注微信公众号"小 ...
- 《深入理解C++11:C++ 11新特性解析与应用》——3.2 委派构造函数
3.2 委派构造函数 类别:类作者 与继承构造函数类似的,委派构造函数也是C++11中对C++的构造函数的一项改进,其目的也是为了减少程序员书写构造函数的时间.通过委派其他构造函数,多构造函数的类编写 ...
- 【C++】 C++标准模板库(十) 双向队列
1. C++ Double Ended Queues(双向队列) 双向队列和向量很相似,但是它允许在容器头部快速插入和删除(就像在尾部一样). Constructors 创建一个新双向队列 Opera ...
最新文章
- 西门子发布最新版NX软件 助力零件制造的数字化
- windows phone7 学习笔记15——Bing Maps
- 算法心经.数学的应用.积分的应用
- ejb模式_EJB的完整形式是什么?
- C++ cin 实现循环读入
- 程序员——[小鸟语录]
- python判断数据mongodb_python判断mongo是否有数据
- 使用 Swiftype 给 Hexo 搭建的博客添加站内搜索功能
- 快捷键截屏_win7截图快捷键是什么 win7截图快捷键怎么按
- 【开发者笔记】利用ab命令对接口进行压力测试
- 无码间串扰的基带传输特性
- java查询城市区号_城市查区号示例代码
- 《我的世界》Minecraft私服搭建100%成功
- 计算机软件高级职称有啥用,计算机软考高级职称有什么用
- 2022-2028全球与中国语音疏散系统市场现状及未来发展趋势
- 都说DBA 是越老越值钱, 那你是没干过DBA
- Java动态追踪技术
- Notepad++查看二进制文件——HexEditor插件
- E.164号码,E.214号码,E.212号码
- XXU邮箱,和客户端同步 pku
热门文章
- delphi对比易语言_delphi 2007 vs E语言 vs C#运行速度 - Delphi编程
- mysql查询临时表是否存在_[转]SQL判断临时表是否存在
- ARM Cortex-M3与Cortex-M4中断相关寄存器
- CentOS 7.x防火墙问题
- 余弦距离、欧氏距离和杰卡德(Jaccard)相似性度量的比较
- Pytorch:PIL 和CV
- 使用Weka进行数据挖掘
- Problem C: 默认参数:求圆面积
- @JVM内存模型(运行时数据区)
- 函数声明优先级高于变量赋值