map的erase函数用法与注意
来源:互联网 发布:域名需要实名认证 编辑:程序博客网 时间:2024/05/22 06:21
record.erase(it++);
1.先把it赋值给一个临时变量作传给erase参数变量;
2.接下来执行了it++操作,也就是it现在已经指向了下一个地址;
1.先把it赋值给一个临时变量作传给erase参数变量;
2.接下来执行了it++操作,也就是it现在已经指向了下一个地址;
3.再调用erase函数,释放掉第一步中保存的要删除的it的值的临时变量所指的位置。
原因是map 是关联容器,对于关联容器来说,如果某一个元素已经被删除,那么其对应的迭代器就失效了,不应该再被使用;否则会导致程序无定义的行为。
map<int,User> record;map<int,User>::iterator it;it=record.begin();while(it!=record.end()){int flag=-1;for(int i=0;i<k;i++){flag=0;}if(flag){record.erase(it++);}else{it++;}}
0 0
- map的erase函数用法与注意
- 关于stl map,要注意erase的用法
- STL模板map erase函数使用注意
- map容器的erase用法
- erase函数的用法
- erase函数的用法
- std::map::erase的用法及陷阱
- std::map中erase的正确用法
- std::map::erase的用法及陷阱
- std::map::erase的用法及陷阱
- std::map::erase的用法及陷阱
- std::map::erase的用法及陷阱
- std::map::erase的用法及陷阱
- 注意vector, list, set, map成员函数erase
- 注意vector, list, set, map成员函数erase
- 注意vector, list, set, map成员函数erase
- 注意vector, list, set, map成员函数erase
- map erase正确用法
- 16 数据的输出
- 求一元二次方程的解
- SpringBoot入门系列:第一篇 Hello World
- 数据结构实验之栈四:括号匹配
- linux下开启日志查询
- map的erase函数用法与注意
- Compare Version Numbers
- NodeJS中的异步I/O、事件驱动
- Windows Phone 8.1摄像头模块的调用
- NoSQL之Redis---事务(transaction)命令
- 解决WordPress网站加载慢和头像不显示问题
- ios学习路线—静态变量,全局变量exterm,局部变量,实例变量
- 大型网站架构演化
- java通过Socket实现TCP网络通信