最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++ map,mutimap刪除問題分析

 更新時間:2012年11月29日 10:55:24   作者:  
本文詳細介紹c++ map,mutimap刪除操作時的一些問題,提供了解決方法,需要的朋友可以參考下

這樣刪除會導致程序內存覆蓋等一系列不可預知的bug

復制代碼 代碼如下:

map<string, string>::iterator iter;
for ( iter = mm.begin();iter != mm.end(); iter ++ )
{
if ( iter->second == something )
{
mm.erase( iter );
}
}

原因:當erase掉iter后,繼續(xù)執(zhí)行iter++,這個時候就亂套了
正確方法:
復制代碼 代碼如下:

for (iter = mm.begin();iter != mm.end();)
{
if ( iter->second == something )
{
mm.erase( iter++ );
}
else
{
iter++; // Use Pre Increment for efficiency.
}
}

可能有人不理解mm.erase(iter++)
其實和這個是一樣的
復制代碼 代碼如下:

for (iter = mm.begin();iter != mm.end();)
{
if ( iter->second == something )
{
map<string, string>::iterator iter_erase;
iter_erase = iter++ //先保存后++再刪除
mm.erase( iter_erase );
}
else
{
iter++; // Use Pre Increment for efficiency.
}
}

相關文章

  • C++?多線程之互斥量(mutex)詳解

    C++?多線程之互斥量(mutex)詳解

    這篇文章主要為大家詳細介紹了C++多線程之互斥量(mutex),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C++/C 回文字符串的實例詳解

    C++/C 回文字符串的實例詳解

    這篇文章主要介紹了C++ 回文字符串的實例詳解的相關資料,需要的朋友可以參考下
    2017-07-07
  • 深入理解C++中public、protected及private用法

    深入理解C++中public、protected及private用法

    這篇文章主要介紹了C++中public、protected及private用法,對于C++面向對象程序設計來說是非常重要的概念,需要的朋友可以參考下
    2014-08-08
  • C語言實現漢諾塔游戲

    C語言實現漢諾塔游戲

    個人覺得漢諾塔這個遞歸算法比電子老鼠的難了一些,不過一旦理解了也還是可以的,其實網上也有很多代碼,可以直接參考。記得大一開始時就做過漢諾塔的習題,但是那時代碼寫得很長很長,也是不理解遞歸的結果。今天重新來實現一下
    2015-03-03
  • 圖的鄰接表存儲表示示例講解

    圖的鄰接表存儲表示示例講解

    這篇文章主要介紹了圖的鄰接表存儲表示,大家參考使用
    2013-11-11
  • QT使用QChart繪制柱狀圖

    QT使用QChart繪制柱狀圖

    在Qt中使用QChart類可以快速繪制一個圖表出來,比如折線圖、餅圖、柱狀圖等,本文就來為大家介紹一下如何利用QChart繪制簡單的柱狀圖吧
    2024-11-11
  • OpenCV圖像處理之實現圖像膨脹腐蝕操作

    OpenCV圖像處理之實現圖像膨脹腐蝕操作

    圖像形態(tài)學操作是指基于形狀的一系列圖像處理操作的合集,主要是基于集合論基礎上的形態(tài)學數學對圖像進行處理。本文將為大家介紹一下如何利用OpenCV實現其中的腐蝕和膨脹操作,需要的可以參考一下
    2022-09-09
  • 利用C語言實現將格式化數據和字符串相互轉換

    利用C語言實現將格式化數據和字符串相互轉換

    這篇文章主要為大家詳細介紹了2個函數,分別是sprintf和sscanf,可以用來實現將格式化數據和字符串相互轉換,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-03-03
  • C語言合并兩個帶頭節(jié)點升序排列鏈表

    C語言合并兩個帶頭節(jié)點升序排列鏈表

    這篇文章主要為大家詳細介紹了C語言合并兩個帶頭節(jié)點升序排列鏈表的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • C++ Opencv自寫函數實現膨脹腐蝕處理技巧

    C++ Opencv自寫函數實現膨脹腐蝕處理技巧

    這篇文章主要介紹了C++ Opencv 自寫函數實現膨脹腐蝕處理,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10

最新評論

延津县| 江西省| 蒙自县| 百色市| 阿拉善右旗| 屯门区| 闵行区| 游戏| 巫山县| 卓尼县| 保山市| 芦溪县| 中卫市| 正安县| 景东| 龙口市| 洱源县| 沙洋县| 凤冈县| 岳西县| 昆明市| 哈尔滨市| 芷江| 社会| 灵寿县| 大同市| 林口县| 海伦市| 汾阳市| 南汇区| 胶州市| 化德县| 正宁县| 阿合奇县| 拜城县| 江津市| 汉阴县| 沾益县| 泰来县| 碌曲县| 驻马店市|