社区
C++ 语言
帖子详情
使用list容器的erase(pos); 他是将那块内存移出list并删除那块内存,还是只移出,没有删除那块内存
wwyyxx26
2010-06-04 11:28:17
使用list容器的erase(pos); 他是将那块内存移出list并删除那块内存,还是只移出,没有删除那块内存
...全文
123
5
打赏
收藏
使用list容器的erase(pos); 他是将那块内存移出list并删除那块内存,还是只移出,没有删除那块内存
使用list容器的erase(pos); 他是将那块内存移出list并删除那块内存,还是只移出,没有删除那块内存
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bitxinhai
2010-06-04
打赏
举报
回复
但是如果你放的是指针,并且指针指向的自己new出来的空间的话,
就要自己delete掉这部分空间了
bitxinhai
2010-06-04
打赏
举报
回复
应该是移出list并删除
pengzhixi
2010-06-04
打赏
举报
回复
否则那内存泄露就严重了。
pengzhixi
2010-06-04
打赏
举报
回复
那块内存也删除了。
冻结
2010-06-04
打赏
举报
回复
删除那块内存
STL常用
容器
——
list
容器
的
使用
list
容器
简介
list
容器
:又称双向链表
容器
,该
容器
的底层是以双向链表的形式实现的,因此可以高效地进行元素的插入和
删除
操作。双向链表可以将链表里的元素存储在不同且不相关的内存位置,所以
list
容器
中的元素可以是分散存储在内存空间里的,而不是必须存储在一整块连续的内存空间中。在双向链表的任何位置插入或
删除
元素时间复杂度为都为O(1);
list
容器
移动元素的效率也比其它
容器
高。
list
容器
底层实现。
List
容器
的接口
使用
、迭代器失效(仅
erase
)
list
众多接口的
使用
,主要演示
list
具有的特殊接口unique、sort、merge、remove、remove_if、reverse 。
list
接口中insert不会触发迭代器失效,
erase
会导致
删除
结点的迭代器失效
【C++】学习笔记(八)----
list
容器
list
容器
文章目录
list
容器
list
基本概念
list
构造函数
list
赋值和交换
list
大小操作
list
插入和
删除
list
数据存取
list
反转和排序
容器
:
list
头文件:`#include
list
基本概念 链表(
list
)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的 链表的组成:链表由一系列结点组成 结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域 STL中的链表是一个双向循环链表 由于链表的存储方式并不是连续的内存空间,因此链表l
list
容器
中元素
删除
一、
list
.clear(); //移除
容器
的所有元素。
list
.
erase
(beg,end); //
删除
[beg,end)区间的数据,返回下一个数据的位置(区间是左闭右开)。
list
.
erase
(
pos
); //
删除
pos
位置的数据,返回下一个数据的位置。
list
.remove(elem); //
删除
容器
中所有与elem值匹配的元素。 二、示例 #include
C++(20):
list
通过
erase
,
erase
_if
删除
元素
需要说明的是,
删除
元素后,迭代器会失效,可以通过
erase
返回下一个有效的迭代器。3. C++20增加了非成员函数
erase
,可以直接
删除
list
中指定的值。4. C++20增加的
erase
_if可以用于
删除
符合条件的元素。1.通过迭代器
删除
指定位置元素。2.
删除
迭代器指定的某个区间。
C++ 语言
64,642
社区成员
250,474
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章