跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Taiwan Tongues 台語維基
搜尋
搜尋
外觀
建立帳號
登入
個人工具
建立帳號
登入
檢視 Erase–remove慣用法 的原始碼
頁面
討論
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
外觀
移至側邊欄
隱藏
←
Erase–remove慣用法
由於以下原因,您無權編輯此頁面:
您請求的操作只有這些群組的使用者能使用:
使用者
、taigi-reviewer、apibot
您可以檢視並複製此頁面的原始碼。
_ Erase–remove 慣用法'_ 是 C + + 程序設計語言常用的技術,用於在 C + + 標準模板庫容器中刪除元素。 ==動機== 一个捷看的編程任務是對集合(collection)中刪除等於是某一值抑是滿足某一个標準的所有的元素。C + + 語言會當通過手寫循環完成這个任務。但是閣較好的辦法是使用 C + + 標準枋仔庫中的算法來實現。 ` erase ` 用佇對一个集合中刪除一个元素,但是對數組的容器,如 ` vector `,儉佇被刪除元素了後的所有的元素攏需要向前徙振動以避免集合中有一个空位(gap)。 佇仝一容器當中濟擺調用產生了大量移動元素的開銷。 ` algorithm ` 庫提供矣 ` remove ` 佮 ` remove _ if ` 算法。因為遮的算法運行佇咧兩个前向迵天代器確定的元素範圍頂頭,𪜶無底層容器抑是集合的具體智識。遮的算法並無從容器刪除元素,是共無「符合」刪除標準的元素徙去容器的尻川內底,並且保持遮的元素的對次序。該當算法一改通過數據範圍即可實現該目標。 因為無元素共你斂掉,因此容器 sài-sù 保持袂變。容器尾的元素攏是需要予人刣掉的,毋過𪜶的狀態無指定(unspecified state)。 ` remove ` 倒轉去一个迵天代器指向尾仔這需要用 ` erase ` 刪除的元素的第一个。 仝款的代誌(刪除幾个元素), 用容器的方法 ` erase ` 會致使幾若擺遍歷這个容器,每一擺遍歷時,共你斂掉元素了後的所有的元素攏著愛向前徙振動,其時間銷了較遠通過孤一改通過。 ==局限== erase–remove 慣用法袂當用返回 ` const _ iterator `(比如講:set)的容器。 ` std : : remove ` 佮 ` std : : remove _ if ` 袂使保持予人刣掉的元素(無成 ` std : : partition ` , ` std : : stable _ partition `)。 所以,erase–remove 只會當用佇容器的元素是全值語義袂走出去資源泄露。 ==例== ==參考文獻== [[分類: 待校正]]
返回到「
Erase–remove慣用法
」。