所有的元素在插入後應該在數組中有固定的位置,直到我明確地從那裏刪除它們。是否有這樣的提升或任何地方?謝謝動態矢量狀容器,但其元素保存其索引?
0
A
回答
3
使用或map<int, T>
。
或者,使用vector<
optional<T>
>
,並設置插槽刪除對none_t
,而不是實際刪除它。
1
而不是「刪除」一個元素,您希望將其值設置爲null(或其他「無值」等效值)。然後,根據需要,一切都保持不變。
0
有趣。你的目標是揭示一個從整數到SLOTS的映射,那些SLOTS可能包含一個值?或者,您的目標是保留每個元素的底層地址以及內部數組本身的底層地址?大概你有一個理由,你需要元素的位置,或者在元素被「移除」之後,從整數鍵到元素的映射。這是什麼原因?
上面提到的map<>
或vector<>
實現可能無法工作,因爲remove
,erase
,find
等操作將刪除,重新排列,或檢查您認爲是「刪除」的整數。
不幸的是,我認爲這可能是一種情況,您需要使用圍繞vector<optional<T> >
或vector<T*>
的包裝材料來製作自己的包裝,具體取決於您如何定義remove
。
相關問題
- 1. 將元素索引保存到變量
- 2. 根據其它矢量元素位置
- 3. 如何添加動態表單元素但保留其值(JS)
- 4. 如何在單擊其他元素時使元素保持活動狀態?
- 5. R - 檢查矢量對其他矢量的元素
- 6. Activity中的靜態變量是否可以保存其狀態?
- 7. 如何過濾相對於其他元素的矢量元素?
- 8. 擴展std :: vector以移動其他矢量類型的元素
- 9. 保留影響其他元素的單選按鈕狀態
- 10. 保存和調用元素的狀態
- 11. 其文本查找元素索引
- 12. 保存頁面狀態並將其恢復到相同狀態
- 13. 保存Android活動狀態和內容
- 14. 保存一個容器的狀態(LinearLayout)
- 15. List.js發現元素但仍然保留其他元素
- 16. 元素放在其父容器外
- 17. Git瓷器命令將單個文件恢復到其HEAD狀態,但保持其上演狀態?
- 18. 使浮動元素保持其位置
- 19. 其中超過1個元素存儲在索引中
- 20. 創建一個數組,其中每個元素存儲其索引
- 21. Android RecyclerView在向後滾動時未保存其狀態
- 22. 其餘的http代碼保存爲非活動狀態
- 23. 如何使Android活動不保存其狀態?
- 24. 動態調整元素的大小,但保持其背景的比例
- 25. 保存搜索狀態
- 26. 獲取元素的索引數組包含其他元素
- 27. 向量(或其他動態容器)內的類變量的C++ const引用
- 28. 保存表單元素屬性XML(保存控制狀態)
- 29. 將Python搜索結果保存到變量中並使用其元素
- 30. 保存矢量
「固定位置」是什麼意思?除非您從矢量的開始或中間插入或移除元素,否則其元素的索引不會更改。 – 2010-06-12 17:30:16
手頭有什麼問題? – GManNickG 2010-06-12 17:33:35
@詹姆斯麥克奈利斯:我的意思是說,當我插入或刪除_any_元素時,這不應該影響其他人的位置。例如,如果我有一個有500個元素的容器,並且我首先移除了所有第一個499,那麼最後應該是第500個,並且容器的大小不應該改變。 – szx 2010-06-12 17:35:38