第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C++ 嵌套vector中使用erase,沒有真正刪除元素

C++ 嵌套vector中使用erase,沒有真正刪除元素

C++
拉丁的傳說 2018-10-29 17:17:11
數(shù)據(jù)放在一個嵌套的vector里,我需要找到內(nèi)層vector的特定元素然后刪掉。但是我發(fā)現(xiàn)沒有真的刪掉,還是能訪問到。為什么呢 bool LayerDic::remove(CString IdCStr) {       vector<vector<Data>>::iterator  group2 = resDataGroup.begin();       while ((group2) != resDataGroup.end()) {            vector<Data>::iterator  it = (*group2).begin();            while ((it) != (*group2).end()) {            if (it->getIdCStr().Compare(IdCStr) == 0)            {                     (*group2).erase(it);                       temp();//為了驗證是否真的刪除                     return true;               }         }     }     return false; } void LayerDic::temp() {       vector<vector<Data>>::iterator  group2 = resDataGroup.begin();     while ((group2) != resDataGroup.end())          {           vector<Data>::iterator  it = (*group2).begin();           while ((it) != (*group2).end()) {             CString cs = it->getIdCStr();             it++;         }         group2++;     }  }
查看完整描述

2 回答

?
至尊寶的傳說

TA貢獻1789條經(jīng)驗 獲得超10個贊

你的remove函數(shù)里迭代器指針沒有移動吧,group2和it都沒有向后移動

查看完整回答
反對 回復 2018-11-03
?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

你的“還可以訪問到”是指的什么呢?
因為你的remove只刪除了一個就返回了,會不會是因為你的這個向量中有多個這種特定元素導致刪除完一個其余的還存在?

查看完整回答
反對 回復 2018-11-03
  • 2 回答
  • 0 關(guān)注
  • 1482 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號