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++)
}

料青山看我應如是
TA貢獻1772條經驗 獲得超8個贊
崩潰的緣故一般是指針的問題。 如果一個指針指向了未知的地方,而你又調用了delete。那么后果是不可預料的,往往都是崩潰的。所以,你在清楚的時候,map里面的成員函數有野指針沒有處理。
- 2 回答
- 0 關注
- 188 瀏覽
添加回答
舉報
0/150
提交
取消