C++ STL 中 remove 和 erase 的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ STL 中 remove 和 erase 的区别相关的知识,希望对你有一定的参考价值。

remove是逻辑上的删除,实际所在容器分配的内存大小没改变,只是把删除的元素移到了容器的最后并且重置end指向的位置。如果你知道容器末尾的指针的话,即使某元素remove了也查得到。 erase是物理上的删除,容器大小被改变 参考技术A remove只是把你要删除的元素集中起来方便用erase一次性删掉

以上是关于C++ STL 中 remove 和 erase 的区别的主要内容,如果未能解决你的问题,请参考以下文章

C++ STL 中 remove 和 erase 的区别

STL函数——remove函数

STL之vector的erase函数和遍历

C++ STL中erase函数的用法 求助~~

C++ STL中erase函数的用法 求助~~

C++中stl模版中的erase()和end()(和我之前提的问题不一样)