国产探花免费观看_亚洲丰满少妇自慰呻吟_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的刪除方法(推薦)全部內容了,希望大家多多支持武林網~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 罗江县| 福鼎市| 紫阳县| 婺源县| 磴口县| 临泉县| 金乡县| 长垣县| 盘锦市| 弋阳县| 丹凤县| 宽甸| 鲁山县| 宁德市| 滁州市| 济阳县| 巫山县| 宣威市| 新疆| 甘泉县| 夹江县| 河源市| 余江县| 手游| 吉木乃县| 高尔夫| 蓬莱市| 昌江| 竹山县| 尚义县| 高青县| 上犹县| 万盛区| 丹凤县| 武胜县| 余姚市| 德江县| 出国| 云霄县| 西吉县| 漳州市|