0
|
Michael Dorgan · 技术社区 · 15 年前 |
![]() |
1
4
调查显示:我累了,不,他们不会删除主题本身,除非它们在列表本身的某种容器安全智能指针内。午睡时间… |
![]() |
2
4
不,没有STL容器会删除您的指针。这是因为STL容器永远不会拥有您的指针,所以STL容器永远不会承担双重删除的责任。 |
![]() |
3
4
如果你有
现在的问题是,您在容器中存储了哪些对象?
如果容器中有真正的对象,例如
相反,如果您只有指向对象的指针,例如
如果需要存储指向对象的指针,并希望在容器死亡时销毁指向对象的指针,则必须使用一些智能指针(例如
*
|
![]() |
4
3
不,不会删除对象。 Boost有一个解决方案, Boost Pointer Container Library . 它不仅为您删除指针,而且还增强了常见操作的语法,使它们更加方便。 |
![]() |
5
0
否。不会对每个项调用“delete”。如果您希望发生这种情况,那么列表应该包含智能指针而不是普通指针。参考 C++ STL vector of pointers . 如果您真的不想在应用程序中出现内存泄漏,那么在列表超出范围之前,需要在每个指针上显式调用delete。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |