看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《renderer (rendering)》之銘言: : 那那那 這個問題的標準寫法是什麼呢 : 把要 erase 的 keys 存到 vector : 然後 iterate 這個 vector 把 map 裏的 pair erase 掉嗎 ??? 所謂「標準寫法」其實和原po寫的差不多,只是沒有另外設一個 暫時變數來存下一個 iterator 的值,而是用 postfix ++ 來做。 if (/* 符合條件 */) child.erase(i++); else ++i; 這樣,照說原po的寫法應該也行才對,就用他的程式,加頭加尾 寫了個完整的小程式測驗,是可以正確執行的。已用推文請他詳 述他所說的 ++tmp_q1; 執行時會出錯到底是出什麼錯?錯誤訊息 為何? 很多人都不曉得要詳列這些該列的資訊,增加有心協助的眾人的 困擾,無法對症下藥。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: khoguan 來自: 220.130.208.168 (07/01 10:57)
cplusplus:應該用第三種? 140.115.217.14 07/01
cplusplus:如果是單純比較KEY的話 用第三種不省掉許多事 140.115.217.14 07/01
khoguan:是的。若單純比較key值,就用第三種,直接支援。220.130.208.168 07/01