当前位置: 首页 > 面试题库 >

请你来说一说STL迭代器删除元素?

胡博艺
2023-03-14
本文向大家介绍请你来说一说STL迭代器删除元素?相关面试题,主要包含被问及请你来说一说STL迭代器删除元素?时的应答技巧和注意事项,需要的朋友参考一下

这个主要考察的是迭代器失效的问题。1.对于序列容器vector,deque来说,使用erase(itertor)后,后边的每个元素的迭代器都会失效,但是后边每个元素都会往前移动一个位置,但是erase会返回下一个有效的迭代器;2.对于关联容器map set来说,使用了erase(iterator)后,当前元素的迭代器失效,但是其结构是红黑树,删除当前元素的,不会影响到下一个元素的迭代器,所以在调用erase之前,记录下一个元素的迭代器即可。3.对于list来说,它使用了不连续分配的内存,并且它的erase方法也会返回下一个有效的iterator,因此上面两种正确的方法都可以使用。

 类似资料:
  • 本文向大家介绍请你来说一下STL中迭代器的作用,有指针为何还要迭代器?相关面试题,主要包含被问及请你来说一下STL中迭代器的作用,有指针为何还要迭代器?时的应答技巧和注意事项,需要的朋友参考一下 1、迭代器 Iterator(迭代器)模式又称Cursor(游标)模式,用于提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。或者这样说可能更容易理解:Iterator模式是运用

  • 本文向大家介绍请你说说STL中map与unordered_map?相关面试题,主要包含被问及请你说说STL中map与unordered_map?时的应答技巧和注意事项,需要的朋友参考一下 1、Map映射,map 的所有元素都是 pair,同时拥有实值(value)和键值(key)。pair 的第一元素被视为键值,第二元素被视为实值。所有元素都会根据元素的键值自动被排序。不允许键值重复。 底层实现:

  • 本文向大家介绍请你来说一说协程?相关面试题,主要包含被问及请你来说一说协程?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1、概念: 协程,又称微线程,纤程,英文名Coroutine。协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。 例如: 由协程运行结果可能是12x3yz。在执行A的过程中,可以随时中断,去执行B,B也可能在

  • 本文向大家介绍请你说一说C++ STL 的内存优化?相关面试题,主要包含被问及请你说一说C++ STL 的内存优化?时的应答技巧和注意事项,需要的朋友参考一下 1)二级配置器结构 STL内存管理使用二级内存配置器。 1、第一级配置器 第一级配置器以malloc(),free(),realloc()等C函数执行实际的内存配置、释放、重新配置等操作,并且能在内存需求不被满足的时候,调用一个指定的函数。

  • 本文向大家介绍请你来说一说http协议相关面试题,主要包含被问及请你来说一说http协议时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1)HTTP协议: HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。   HTTP是一个基于TCP/IP通信协议来

  • 本文向大家介绍请你说一说STL中MAP数据存放形式?相关面试题,主要包含被问及请你说一说STL中MAP数据存放形式?时的应答技巧和注意事项,需要的朋友参考一下 红黑树。unordered map底层结构是哈希表