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

C++ STL list 遍歷刪除出錯解決方案

 更新時間:2016年12月12日 11:51:10   作者:zhouyongku  
這篇文章主要介紹了C++ STL list 遍歷刪除出錯解決方案的相關(guān)資料,這里對出錯進(jìn)行分析,并給出正確的解決方法,需要的朋友可以參考下

C++ STL list 遍歷刪除崩潰

錯誤用法一

下面這種用法會在for的地方崩潰,分析 第一次for循環(huán)的時候 it=0,當(dāng)t.erase(it)執(zhí)行完成之后 it就變成了 -17891602
表明it不能再作為迭代器進(jìn)行運(yùn)算,自然會報錯。

#include <map> 
#include <list> 
using namespace std; 
typedef std::list<int > TESTLIST; 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
  TESTLIST t; 
  for (int i = 0; i < 10;i++) 
  { 
    t.push_back(i); 
  } 
 
  for (TESTLIST::iterator it = t.begin(); it != t.end();) 
  { 
    t.erase(it); 
    it++; 
  } 
 
  return 0; 
} 

錯誤用法二

下面這種用法出現(xiàn)的錯誤與錯誤一相同

#include <map> 
#include <list> 
using namespace std; 
typedef std::list<int > TESTLIST; 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
  TESTLIST t; 
  for (int i = 0; i < 10;i++) 
  { 
    t.push_back(i); 
  } 
 
  for (TESTLIST::iterator it = t.begin(); it != t.end();it++) 
  { 
    t.erase(it); 
  } 
 
  return 0; 
} 

錯誤用法三

下面這種用法以為不it++就不會有事,其實他們的錯誤都一樣,那就是t.erase(it)之后 it已經(jīng)是非迭代量,自然不能作為迭代操作

#include "stdafx.h" 
 
#include <map> 
#include <list> 
using namespace std; 
typedef std::list<int > TESTLIST; 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
  TESTLIST t; 
  for (int i = 0; i < 10;i++) 
  { 
    t.push_back(i); 
  } 
 
  for (TESTLIST::iterator it = t.begin(); it != t.end();) 
  { 
    t.erase(it); 
  } 
 
  return 0; 
} 

 正確用法

#include <map> 
#include <list> 
using namespace std; 
typedef std::list<int > TESTLIST; 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
  TESTLIST t; 
  for (int i = 0; i < 10;i++) 
  { 
    t.push_back(i); 
  } 
 
  for (TESTLIST::iterator it = t.begin(); it != t.end();) 
  { 
    t.erase(it++); 
  } 
 
  return 0; 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • C++ 模版雙向鏈表的實現(xiàn)詳解

    C++ 模版雙向鏈表的實現(xiàn)詳解

    本篇文章是對C++中的模版雙向鏈表進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 關(guān)于C++的重載運(yùn)算符和重載函數(shù)

    關(guān)于C++的重載運(yùn)算符和重載函數(shù)

    一般來說,重載運(yùn)算符在實際的項目開發(fā)中會經(jīng)常的用到,但如果某些自定義類型通過簡短幾行代碼重載一些常用的運(yùn)算符(如:+-*/),就能讓編程工作帶來方便,需要的朋友可以參考下本文
    2023-05-05
  • 探討++i與i++哪個效率更高

    探討++i與i++哪個效率更高

    i++總是要創(chuàng)建一個臨時對象,在退出函數(shù)時還要銷毀它,而且返回臨時對象的值時還會調(diào)用其拷貝構(gòu)造函數(shù)
    2013-10-10
  • C語言自定義數(shù)據(jù)類型的結(jié)構(gòu)體、枚舉和聯(lián)合詳解

    C語言自定義數(shù)據(jù)類型的結(jié)構(gòu)體、枚舉和聯(lián)合詳解

    這篇文章主要給大家介紹了關(guān)于C語言自定義數(shù)據(jù)類型的結(jié)構(gòu)體、枚舉和聯(lián)合的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • C++實現(xiàn)學(xué)生管理系統(tǒng)示例解析

    C++實現(xiàn)學(xué)生管理系統(tǒng)示例解析

    這篇文章主要介紹了C++實現(xiàn)學(xué)生管理系統(tǒng)示例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 基于C語言實現(xiàn)猜數(shù)字游戲

    基于C語言實現(xiàn)猜數(shù)字游戲

    這篇文章主要為大家詳細(xì)介紹了基于C語言實現(xiàn)猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Qt讀寫ini文件之QSettings用法

    Qt讀寫ini文件之QSettings用法

    這篇文章主要為大家介紹了Qt讀寫ini文件之QSettings的使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 解析Linux下的時間函數(shù):設(shè)置以及獲取時間的方法

    解析Linux下的時間函數(shù):設(shè)置以及獲取時間的方法

    本篇文章是對Linux下的時間函數(shù):設(shè)置以及獲取時間的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 關(guān)于C++中定義比較函數(shù)的三種方法小結(jié)

    關(guān)于C++中定義比較函數(shù)的三種方法小結(jié)

    下面小編就為大家?guī)硪黄P(guān)于C++中定義比較函數(shù)的三種方法小結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • C++實現(xiàn)雙向鏈表代碼分析

    C++實現(xiàn)雙向鏈表代碼分析

    這篇文章主要介紹了C++實現(xiàn)雙向鏈表代碼分析,前面文章分析了單向鏈表,這篇文章就來給大家分享雙鏈表的實現(xiàn)吧,需要的朋友可以參考一下
    2022-03-03

最新評論

江源县| 额敏县| 洞头县| 玉门市| 贡山| 抚宁县| 贡嘎县| 新龙县| 塔河县| 桃源县| 樟树市| 仪征市| 正宁县| 容城县| 万源市| 宁武县| 合水县| 乌海市| 林甸县| 遂川县| 东兴市| 武鸣县| 扶余县| 酒泉市| 景洪市| 佛学| 宿松县| 恩施市| 金山区| 密山市| 尖扎县| 三江| 永州市| 龙泉市| 蒙城县| 呼图壁县| 本溪| 海丰县| 和平县| 鞍山市| 西盟|