c++stl里面的map.erase(...)

应该怎么用运行总是崩溃另外delete可以删除map里的成员么、、... 应该怎么用 运行总是崩溃
另外delete可以删除map里的成员么 、、
展开
 我来答
xx_lyq00
2014-11-27 · TA获得超过4139个赞
知道大有可为答主
回答量:1794
采纳率:88%
帮助的人:804万
展开全部
你不会是在循环里用erase吧。

这样的原先的迭代器就失效了。
你说的delete是什么?

同时erase是返回下一个迭代器。因为要用
map stl
for(it = stl.begin(); it != stl.end())
{
if(),,
it = stl.erase(it );

else
it ++
// 或者用 st.erase(it++)
}
linjinxing1987
2014-11-27 · TA获得超过911个赞
知道小有建树答主
回答量:382
采纳率:0%
帮助的人:262万
展开全部
崩溃的缘故一般是指针的问题。 如果一个指针指向了未知的地方,而你又调用了delete。那么后果是不可预料的,往往都是崩溃的。所以,你在清楚的时候,map里面的成员函数有野指针没有处理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式