C++删除元素的函数总结

您所在的位置:网站首页 清除数组的语句 C++删除元素的函数总结

C++删除元素的函数总结

2023-08-08 11:48| 来源: 网络整理| 查看: 265

在C++中,删除对象元素的方法可以用remove函数、erase函数、resize函数等。

1、remove函数

remove函数在STL中的源码如下:

template OutputIterator remove_copy ( InputIterator first, InputIterator last, OutputIterator result,const T& value ) { for ( ; first != last; ++first) if (!(*first == value)) *result++ = *first; return result; } 如果lst是一个list的对象,则调用函数代码如下: remove(lst.begin(),lst.end(),4); remove通过迭代器的指针向前移动来删除,将没有被删除的元素放在链表的前面,并返回一个指向新的超尾值的迭代器。由于remove()函数不是成员,因此不能调整链表的长度。remove()函数并不是真正的删除,要想真正删除元素则可以使用erase()或者resize()函数。 remove还可以进行文件删除操作,具体见c++删除文件操作remove。

2、erase()函数

erase()函数可以删除给定区间的元素。它接受两个迭代器参数,这些参数规定了要删除的区间。例如:要删除第一个元素和第二个元素,代码如下:score.erase(scores.begin(),score.begin()+2);其中该区间不包括最后一个元素,即“左闭右开”。

3、resize()函数

对于resize()函数,resize()函数用来调整容器的大小。对于容器c,c.resize(n) 调整容器 c 的长度大小,使其能容纳 n 个元素,如果 n < c.size(),则删除多出来的元素;否则,添加采用值初始化的新元素。

4、下面用一段代码来说remove()函数、erase()函数和resize()函数的区别

#include #include #include using namespace std; int main() { int n; char ask; coutn; cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3