選擇最佳的 C 11 標準庫容器
經典的「C 容器選擇」備忘單提供了針對特定使用場景選擇適當容器的指導。但是,它缺少 C 11 的更新版本。
作為補償,這裡有一個文字工作流程來幫助選擇容器:
1。語意優先
關聯容器:
- 如果需要按單一鍵搜索,請使用關聯容器。
- 選擇有序容器以保持排序元素。
- 對於單獨的鍵值對,請使用 地圖;對於僅鍵,請考慮設定。
- 啟用具有「多個」前綴的重複項。
簡單序列容器:
2。記憶體穩定性
- 如果在容器修改期間元素必須保留在記憶體中,請使用清單。
- 預設為清單;僅使用 Forward_List 來減少記憶體佔用。
3.動態調整大小
- 如果大小在編譯時已知並保持不變,且元素預設可構造或使用大括號初始化,則使用陣列。
4.雙端
- 如果需要從兩端新增或刪除項目,請選擇 Deque。
- 否則選擇 Vector。
範例
場景:依據唯一性擷取人員資料ID。
- 我們需要找出功能(關聯容器)。
- 順序無關(無序)。
- 鍵(ID)與值(映射)分開.
- 沒有重複項(沒有"multi").
結果: std::unordered_map.
注意:如果沒有特定約束apply, 建議使用 Vector 作為簡單序列容器的預設選擇。
以上是我應該使用哪個 C 11 標準函式庫容器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!