社区
新手乐园
帖子详情
为什么老是死循环
N_thread
2009-10-29 04:37:33
it = find_if(it, source1.end(), bind2nd(less<int>(), 10));
while (it != source1.end());
{
cout << *it << ",";
it = find_if(it + 1, source1.end(), bind2nd(less<int>(), 10)) ;
}
一运行就死循环, 单步调试到while就不向下了.
急!
...全文
97
8
打赏
收藏
为什么老是死循环
it = find_if(it, source1.end(), bind2nd(less(), 10)); while (it != source1.end()); { cout << *it << ","; it = find_if(it + 1, source1.end(), bind2nd(less(), 10)) ; } 一运行就死循环, 单步调试到while就不向下了. 急!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huangxiaohu_coder
2009-10-29
打赏
举报
回复
算法有问题哦,如果是这么一个序列5,7,15,20,在找到5以后,指针加1,可以找到7,指针再加1,但到15就找不到了,他肯定不是返回最后一个指针,所以,你的循环终止条件不对,还要加上查找不成功的判断吧
zhengjiankang
2009-10-29
打赏
举报
回复
哈哈 检查的时候要细心啊
N_thread
2009-10-29
打赏
举报
回复
谢谢
jackyjkchen
2009-10-29
打赏
举报
回复
确实是的,有分号就跟不进去了
kouwenlong
2009-10-29
打赏
举报
回复
while (it != source1.end())
;
多了个分号。
wjf8882300
2009-10-29
打赏
举报
回复
while (it != source1.end()); //这个分号干吗用?晕
{
cout < < *it < < ",";
it = find_if(it + 1, source1.end(), bind2nd(less <int>(), 10)) ;
}
feifanup
2009-10-29
打赏
举报
回复
while 那一行多了个分号
FAINT
jackyjkchen
2009-10-29
打赏
举报
回复
不会跟到find_if里面吗
面试官:并发下的 HashMap 为什么会引起
死循环
?
今天研读Java并发容器和框架时,看到为什么要使用ConcurrentHashMap时,其中有一个原因是:线程不安全的HashMap, HashMap在并发执行put操作时会引起
死循环
,是因为多线程会导致HashMap的Entry链表形成环形数据结构,查找时会陷入
死循环
。纠起原因看了其他的博客,都比较抽象,所以这里以图形的方式展示一下,希望支持!(1)当往HashMap中添加元素时,会引起HashMap容器的扩容,原理不再解释,直接附源代码,如下:(2)参考上面的代码,便引入到了transfer方法,(引入
为什么HashMap会产生
死循环
?
HashMap
死循环
是一个比较常见、也是比较经典的面试题,在大厂的面试中也经常被问到。HashMap的
死循环
问题只在JDK1.7版本中会出现,主要是HashMap自身的工作机制,再加上并发操作,从而导致出现
死循环
。JDK1.8以后,官方彻底解决了这个问题。 1、数据插入原理 在分析原因之前,我先带大家了解一下JDK1.7中HashMap插入数据的原理,来看动画演示: 由于JDK1.7中HashMap的底层存储结构采用的是数组加链表的方式。 而HashM...
Android中为什么主线程不会因为Looper-loop()里的
死循环
卡死?
对于线程既然是一段可执行的代码,当可执行代码执行完成后,线程生命周期便该终止了,线程退出。通过创建新线程的方式。,java framework框架的核心载体,里面运行了大量的系统服务,比如这里提供ApplicationThreadProxy(简称ATP),ActivityManagerService(简称AMS),这个两个服务都运行在system_server进程的不同线程中,由于ATP和AMS都是基于IBinder接口,都是binder线程,binder线程的创建与销毁都是由binder驱动来决定的。
为什么
死循环
占用CPU高
文章出处:http://bbs.chinaunix.net/thread-1613560-1-1.html 为什么
死循环
占用CPU高 一个进程如果是
死循环
,那么占有的CPU会很高,可是操作系统时间片运行的,到了一定时间不是会自动切换到别的进程吗?即便是
死循环
,到时间还是
HashMap为什么会发生
死循环
HashMap
死循环
只会在JDK1.7中出现,出现的原因主要是因为其自身扩容机制加上并发操作。JDK1.8中已彻底解决该问题。 JDK1.7中HashMap以数组加链表的方式存储,在插入数据是采用的是头插法,新插入的数据会从链表的头结点进行插入。因此在HashMap扩容时会存在如下现象: ...
新手乐园
33,316
社区成员
41,770
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章