国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++中vector和map的刪除方法(推薦)

2020-01-26 14:20:20
字體:
來源:轉載
供稿:網友

1.連續內存序列容器(vector,string,deque)

序列容器的erase方法返回值是指向緊接在被刪除元素之后的元素的有效迭代器,可以根據這個返回值來安全刪除元素。

vector<int> c;for(vector<int>::iterator it = c.begin(); it != c.end();){ if(need_delete())      it = c.erase(it);   else       ++it; }

2.關聯容器(set,multiset,map,multimap)

關聯容器的erase方法沒有返回值,被刪除的迭代器失效,所以刪除前必須確保能得到下一個迭代器,可以用“后置遞增迭代器”技術。

map<int,int> m;for(map<int,int>::iterator it = m.begin(); it != m.end();){  if(need_delete())        m.erase(it++);   else        ++it;}

m.erase得到it的一個副本,在erase真正開始之前it已經遞增了。

所以erase得到了當前的迭代器,在erase內部工作開始之前it已經++了,正好滿足我們的需要。

以上就是小編為大家帶來的C++中vector和map的刪除方法(推薦)全部內容了,希望大家多多支持武林網~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清丰县| 鄂托克前旗| 邵东县| 陆良县| 丹寨县| 同仁县| 维西| 龙泉市| 赤壁市| 稷山县| 义乌市| 营口市| 林周县| 镇沅| 棋牌| 工布江达县| 莲花县| 尼勒克县| 江口县| 嫩江县| 乌兰县| 邯郸市| 如皋市| 汉川市| 黔江区| 甘孜县| 齐齐哈尔市| 马山县| 怀化市| 兴文县| 新蔡县| 枞阳县| 秦皇岛市| 襄垣县| 濮阳市| 连南| 安达市| 莫力| 手游| 余庆县| 三原县|