摘要:
我们通过map的erase(iterator it)方法删除元素的时候,如果此时erase处于遍历map的代码中,那么调用erase就需要小心一些。因为erase会导致输入参数iterator变的无效,从而影响后续的it++遍历map的逻辑。简单做法是,先将要删除的it保存下来,然后将用于遍历map的it指向下一个位置,然后删除掉保存下来的it。如下面代码所示:#include<map>#include<iostream>usingnamespacestd;intmain(){map<int,int>map1;map<int,int>::iter 阅读全文
搜索
最新评论
- 1. Re:Linux网络编程 -- select/epoll得知socket有数据可读,如何判断数据全部被读取完毕?
- 只有在使用epoll ET(Edge Trigger)模式的时候,才需要关注数据是否读取完毕了。使用select或者epoll的LT模式,其实根本不用关注数据是否读完了,select/epoll检测到...
- --12赞
- 2. Re:负载容量、负载功率对UPS、逆变器的影响
可是国内的逆变器的瓦数还是大的。您是做电源的?还是做逆变器的?
有些问题想请教您。谢谢- --Sunny-石
- 3. Re:GstPad setcaps,getcaps,set_setcaps_function...caps协商解说
你好!这个函数gst_pad_set_setcaps_function怎么没有了,我用的是1.18
- --清风1989
- 4. Re:Kconfig中的select和depends on
是
- --只会驱动的手残人
- 5. Re:C语言中如何printf一个unsigned long long的数据?
这是错的, 必须先 #include <limits.h> 再用 %llu 格式化
- --朙夷