deque iterator not dereferencable 问题
来源:互联网 发布:阿里云cdn刷新缓存url 编辑:程序博客网 时间:2024/04/27 18:41
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 问题
- POJ4081树的转换以及deque iterator not dereferencable 问题
- deque iterator not dereferencable 队列不能使用
- list iterator not dereferencable
- 有关提示vector iterator not dereferencable的问题
- map/set iterator not dereferencable
- map/set iterator not dereferencable
- STL ---vector iterator not dereferencable错误
- map/set iterator not dereferencable异常
- VS2008 下 map/set iterator not dereferencable
- 错误map/set iterator not dereferencable
- map/set iterator not dereferencable异常
- Debug Assertion Failed ! List iterator not dereferencable
- [C++杂记] map/set iterator not dereferencable异常
- istreambuf_iterator is not dereferencable
- 使用C++的map容器遇到的bug(map/set iterator not dereferencable)
- 使用C++的map容器遇到的bug(map/set iterator not dereferencable)
- STL 二分查找抛出错误(map/set iterator not dereferencable)
- frame 高度自适应
- popupWindow 实现悬浮半透明效果
- <<、>>的意思
- Spring中PropertyPlaceholderConfigurer的使用(一)
- rootfs文件系统简单分析
- deque iterator not dereferencable 问题
- Spring属性占位符PropertyPlaceholderConfigurer的使用(二)
- Daily English-20121129
- LeetCode: First Missing Positive
- Spring属性占位符PropertyPlaceholderConfigurer的使用(三)
- 为Android内核添加新驱动,并添加到menuconfig菜单【实践简记】
- linux 常用命令(一直更新)
- sublime text2 初始配置
- Windows 7 UAC