欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

這樣刪除會導(dǎo)致程序內(nèi)存覆蓋等一系列不可預(yù)知的bug

復(fù)制代碼 代碼如下:

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

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

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

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

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.
}
}

相關(guān)文章

  • c字符串,string對象,字符串字面值的區(qū)別詳解

    c字符串,string對象,字符串字面值的區(qū)別詳解

    以下是對c字符串,string對象,字符串字面值的區(qū)別進(jìn)行了詳細(xì)的介紹,需要朋友可以 過來參考下
    2013-09-09
  • C++實(shí)現(xiàn)簡易的五子棋小游戲

    C++實(shí)現(xiàn)簡易的五子棋小游戲

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡易的五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C語言對于volatile與gcc優(yōu)化的探究

    C語言對于volatile與gcc優(yōu)化的探究

    這篇文章主要介紹了C語言對于volatile與gcc優(yōu)化的探究,volatile是一個特征修飾符(type specifier) volatile的作用是作為指令關(guān)鍵字,確保本條指令不會因編譯器的優(yōu)化而省略,且要求每次直接讀值。這是百度百科的介紹,那編譯器是具體是怎么優(yōu)化的呢
    2023-02-02
  • C語言從猜數(shù)字游戲中理解數(shù)據(jù)結(jié)構(gòu)

    C語言從猜數(shù)字游戲中理解數(shù)據(jù)結(jié)構(gòu)

    猜數(shù)字是興起于英國的益智類小游戲,起源于20世紀(jì)中期,一般由兩個人或多人玩,也可以由一個人和電腦玩。游戲規(guī)則為一方出數(shù)字,一方猜,今天我們來用這個游戲案例理解數(shù)據(jù)結(jié)構(gòu)
    2022-04-04
  • c語言讀取obj文件轉(zhuǎn)換數(shù)據(jù)的小例子

    c語言讀取obj文件轉(zhuǎn)換數(shù)據(jù)的小例子

    c語言讀取obj文件轉(zhuǎn)換數(shù)據(jù)的小例子,需要的朋友可以參考一下
    2013-03-03
  • C語言算法打卡回文串驗(yàn)證算法題解

    C語言算法打卡回文串驗(yàn)證算法題解

    這篇文章主要為大家介紹了C語言算法打卡萬人千提的leetcode回文串的驗(yàn)證算法題解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • C++文件流讀寫操作詳解

    C++文件流讀寫操作詳解

    本文詳細(xì)講解了C++文件流讀寫操作的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • 詳解C語言的基本數(shù)據(jù)類型

    詳解C語言的基本數(shù)據(jù)類型

    這篇文章主要為大家介紹了C語言的基本數(shù)據(jù)類型,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • C語言學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì)

    C語言學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì)

    這篇文章主要介紹了C語言學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 基于c的for循環(huán)中改變變量值的問題

    基于c的for循環(huán)中改變變量值的問題

    本篇文章是對c語言的for循環(huán)中改變變量值的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評論