社区
C++ 语言
帖子详情
erase的问题
yanxiazhiqiu
2010-08-11 11:17:32
STL中list容器中如果把std::string作为容器的存储元素,在erase()某个元素时,会自动释放string对象申请的内存吗?
...全文
85
7
打赏
收藏
erase的问题
STL中list容器中如果把std::string作为容器的存储元素,在erase()某个元素时,会自动释放string对象申请的内存吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
egmkang
2010-08-11
打赏
举报
回复
顶ls
new/delete
new[]/delete[]
成对使用
pengzhixi
2010-08-11
打赏
举报
回复
LZ记住,是你new的就由你来delete,这是一个好习惯。
yuhuaijun
2010-08-11
打赏
举报
回复
如果对象是指针,则不会, 需要我们在erase之前自己delete对象
pengzhixi
2010-08-11
打赏
举报
回复
[Quote=引用楼主 yanxiazhiqiu 的回复:]
STL中list容器中如果把std::string作为容器的存储元素,在erase()某个元素时,会自动释放string对象申请的内存吗?
[/Quote]
这个你不用担心,它会处理。
jackyjkchen
2010-08-11
打赏
举报
回复
[Quote=引用 1 楼 cd2108006026 的回复:]
会啊。。
string作为list内部节点对象的子对象,自动析构。当然string的析构函数会自动释放它动态分配的内存
[/Quote]
不一定会立即释放,这种细节标准没有规定,看各种实现的优化,不立即释放效率高些
Csuxiaowu
2010-08-11
打赏
举报
回复
会的 这就是STL的一个好处
cd2108006026
2010-08-11
打赏
举报
回复
会啊。。
string作为list内部节点对象的子对象,自动析构。当然string的析构函数会自动释放它动态分配的内存
STL的list的
erase
问题
http://www.cnblogs.com/carekee/articles/1717921.html list使用中遇到的
erase
问题
(List Iterator Not Incrementable) 在VS2005中使用list的
erase
遇到了"List Iterator Not Incrementable"
问题
举个例子: 1. list sList; list
关于vector的
erase
问题
处理
Vector的
erase
成员函数有许多容易导致
问题
的情况.其中以迭代器失效
问题
最为常见. 关于迭代器的失效
问题
,以及
erase
如何删除vector中指定值(可能不止一个),我曾今也对
erase
的使用情况和内容结合起来写过一些字. 博文地址:http://blog.csdn.net/yuanweihuayan/article/details/6790516 似乎对于删除的解析已经够全面了.可是
C++ vector 迭代器之
erase
出现的
问题
想要利用
erase
删除vector中某一指定的元素,需要明白以下几点: 1、这是
erase
的源代码,通过源代码,我们了解到 执行删除操作后,改变的是容器最后一个元素的位置,当前迭代器的位置是没有发生改变的。 iterator
erase
(iterator position) { if(position + 1 != end()) copy(position + 1, finish, position); --finish; destroy(finish); ...
STL 中vector的
erase
问题
STL中的vector提供了
erase
功能,在参考手册上说删除元素之后,iterator指向下一个元素的位置。这个说法感觉不是很明了,自己就尝试了一下 int j=0; for(vector::iterator i=v.begin();i!=v.end();) { cout<<"before
erase
size is : "<
std::vector的
erase
的
问题
在利用iterator遍历vector并且删除其中一个元素的时候,发生了错误。 错误代码如下: vector vec = { 1, 3, 34, 44, 3, 5 }; for (vector::iterator it = vec.begin(); it < vec.end(); it++) //
erase
以后执行it++报错 { if (3 == *it) { cou
C++ 语言
64,646
社区成员
250,479
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章