青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

elva

C++:在迭代中刪除map的成員

C++:在迭代中刪除map的成員

首先要清楚一點,迭代器相當于是容器上的指針,容器可以自己管理內 存,因此迭代器可能失效。
如果你在不知情的情況下使用了失效的迭代器,后果是不可預料的。可能程序立即崩掉,也可能什么事都沒有發生。崩掉了算你 幸運,因為你至少知道出了問題,不然有你受的。

回到正題,我想說什么呢?
比如:
程序代碼 程序代碼

map<string,int> theMap;
// add something to theMap...

for(auto iter1 = theMap.begin(); iter1 != theMap.end(); ++iter1)
{
    if(iter1->second == xxx)
   {
        theMap.erase(iter1);  //#1 erase the element ??!!
   }
}


看樣子貌似非常正常的一 段代碼。在一個map中尋找值為xxx的項并刪除。
但是實際上這個代碼是完全錯誤的,會導致無法預料的結果。

問題就在#1處。一 旦你erase了一個iterator指向的內容,這個iterator就無效了。
這時候你再對這個iterator做任何操作其結果都是未定義 的。

那么該怎么辦呢?
還好,對于map這種以指針構建起來的容器來說,可以保證一個元素刪除了,不影響指向其它元素的迭代器。
因 此就可以這樣做(《C++Standard Library》上建議的正確做法):
程序代碼 程序代碼

for(auto iter1 = theMap.begin(); iter1 != theMap.end(); )
{
    if(iter1->second == xxx)
   {
        theMap.erase(iter1++);  //#1
   }else
   {
        ++iter1;
   }
}

這 個遍歷把迭代器的自增從for頭部中取出,丟到循環體中去。#1處,iter1++這個運算先自增,但是卻返回了自增前的迭代器的一個臨時拷貝。然后這個 臨時迭代器指向的內容被刪除了,但是iter1本身已經自增到下一個位置了,不受影響。

posted on 2010-07-20 10:47 葉子 閱讀(3700) 評論(0)  編輯 收藏 引用 所屬分類: C\C++

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩在线免费视频| 麻豆精品网站| 国产精品美女久久久久久2018| 一本色道久久综合亚洲91| 亚洲图片欧美一区| 国产精品亚洲美女av网站| 欧美在线视屏| 欧美激情麻豆| 亚洲视频一区在线观看| 国产精品每日更新| 欧美在线亚洲在线| 亚洲电影视频在线| 亚洲深夜福利视频| 国产日韩专区在线| 欧美肥婆在线| 亚洲天堂av电影| 久久阴道视频| 日韩视频在线一区| 国产日韩欧美自拍| 欧美va天堂| 亚洲制服丝袜在线| 亚洲大片在线观看| 亚洲欧美一区二区视频| 精品成人一区| 欧美日韩免费高清| 欧美一区午夜精品| 亚洲精选中文字幕| 久久蜜桃资源一区二区老牛 | 久久精品中文字幕一区二区三区 | 欧美日韩国产另类不卡| 亚洲免费在线观看| 亚洲国产精品精华液2区45| 亚洲欧美一区二区三区极速播放| 在线观看的日韩av| 国产精品你懂的在线欣赏| 玖玖综合伊人| 新狼窝色av性久久久久久| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲经典三级| 国产亚洲精品美女| 欧美区在线观看| 久久免费高清| 亚洲一区二区在线| 亚洲人成毛片在线播放女女| 久久av老司机精品网站导航| 一区二区三区国产精华| 曰本成人黄色| 国产日韩欧美在线看| 欧美色偷偷大香| 欧美激情偷拍| 久久久人人人| 午夜精品在线看| 夜夜嗨一区二区| 亚洲精品1区2区| 欧美www在线| 久久久久国产成人精品亚洲午夜| 亚洲午夜精品视频| 一区二区91| 亚洲精品中文字幕有码专区| 在线成人性视频| 狠狠干狠狠久久| 国产综合久久| 国产一区二区观看| 国产欧美精品在线播放| 国产精品理论片| 国产精品久久999| 欧美日韩视频在线| 欧美三级中文字幕在线观看| 欧美激情精品久久久久久免费印度| 久久一区二区三区国产精品| 久久精品视频在线免费观看| 久久激情视频免费观看| 欧美一区二区视频97| 欧美一区激情| 久久成人一区二区| 久久精品一区二区| 久久久久久久波多野高潮日日| 久久国产99| 久久久夜夜夜| 欧美成人日本| 欧美极品aⅴ影院| 欧美日韩黄色大片| 欧美日韩在线综合| 国产精品三上| 国产亚洲精品7777| 影音先锋欧美精品| 91久久嫩草影院一区二区| 亚洲精品久久久久久久久久久| 亚洲欧洲在线一区| 一区二区三区成人精品| 亚洲女同同性videoxma| 欧美一级久久久久久久大片| 久久国产精品久久久久久久久久| 久久视频国产精品免费视频在线| 久久一区欧美| 91久久久久久久久久久久久| 日韩视频一区二区三区在线播放| 在线一区二区三区四区| 亚洲欧美高清| 久久视频一区| 欧美日韩免费看| 国产精品一区二区三区久久久 | 久久亚洲私人国产精品va媚药 | 在线观看av一区| 亚洲欧洲日夜超级视频| 亚洲色诱最新| 久久精品亚洲乱码伦伦中文| 免费在线播放第一区高清av| 亚洲欧洲一区二区三区在线观看| 一本久久综合| 久久精品在线免费观看| 欧美精品aa| 国产日韩欧美综合精品| 亚洲欧洲三级| 久久av一区二区三区漫画| 欧美高清在线视频观看不卡| 99伊人成综合| 久久久噜噜噜| 欧美三日本三级少妇三99 | 在线观看亚洲精品视频| 亚洲理论在线观看| 久久国产精品99国产精| 亚洲国产另类久久久精品极度| 亚洲天堂免费在线观看视频| 免费av成人在线| 国产精品嫩草99a| 亚洲伦理在线免费看| 久久se精品一区精品二区| 亚洲激情在线播放| 欧美一站二站| 欧美午夜精品久久久久久孕妇| 永久91嫩草亚洲精品人人| 午夜在线视频观看日韩17c| 亚洲第一精品夜夜躁人人爽| 亚洲欧美网站| 欧美三级视频在线观看| 亚洲高清不卡一区| 久久精品亚洲一区二区| 一本色道88久久加勒比精品| 嫩模写真一区二区三区三州| 国内偷自视频区视频综合| 亚洲一区欧美激情| 亚洲精品久久久久中文字幕欢迎你| 欧美在线观看视频一区二区三区 | 久久av一区二区三区亚洲| 亚洲美女91| 蜜臀久久久99精品久久久久久| 国产一区二区久久精品| 亚洲欧美在线免费观看| 99视频精品全国免费| 欧美二区在线播放| 亚洲国内自拍| 牛夜精品久久久久久久99黑人| 亚洲欧美日韩国产一区二区三区| 欧美日精品一区视频| 亚洲伦理在线观看| 亚洲国产精品福利| 欧美成人精品在线| 亚洲欧洲一区二区天堂久久| 免费在线观看精品| 久久影院午夜论| 亚洲福利视频一区| 欧美激情a∨在线视频播放| 久久久久久久一区二区| 国内精品久久久| 久久中文在线| 久久野战av| 亚洲日本欧美天堂| 最近中文字幕mv在线一区二区三区四区| 久久综合伊人| 亚洲精品欧美极品| 亚洲看片免费| 国产精品wwwwww| 午夜在线视频一区二区区别| 亚洲欧美日韩国产成人精品影院| 国产伦精品一区二区三区视频孕妇| 亚洲欧美一区二区在线观看| 亚洲综合成人婷婷小说| 国产欧美日韩另类一区| 久久久不卡网国产精品一区| 久久久999精品| 亚洲国产一区二区三区青草影视| 亚洲福利国产| 欧美日韩亚洲一区二区三区在线| 亚洲字幕在线观看| 欧美亚洲综合网| 亚洲电影专区| 亚洲免费观看高清完整版在线观看熊 | 99精品视频免费观看视频| 欧美系列电影免费观看| 性欧美超级视频| 久久精品欧洲| 99精品久久| 亚洲女ⅴideoshd黑人| 精品88久久久久88久久久| 欧美激情视频网站| 国产精品多人| 美女尤物久久精品| 欧美日韩在线影院| 久久久久久久97|