亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

map.erase(...)應該怎么用,為什么運行總是出錯?

map.erase(...)應該怎么用,為什么運行總是出錯?

C++
牧羊人nacy 2023-04-22 18:14:39
c++stl里面的map.erase(...)應該怎么用 運行總是崩潰另外delete可以刪除map里的成員么
查看完整描述

2 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

你不會是在循環里用erase吧。

這樣的原先的迭代器就失效了。
你說的delete是什么?

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

else 
it ++
// 或者用 st.erase(it++)
}

查看完整回答
反對 回復 2023-04-25
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

崩潰的緣故一般是指針的問題。 如果一個指針指向了未知的地方,而你又調用了delete。那么后果是不可預料的,往往都是崩潰的。所以,你在清楚的時候,map里面的成員函數有野指針沒有處理。

查看完整回答
反對 回復 2023-04-25
  • 2 回答
  • 0 關注
  • 188 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號