首頁 > 後端開發 > C++ > 我應該使用哪個 C 11 標準函式庫容器?

我應該使用哪個 C 11 標準函式庫容器?

Susan Sarandon
發布: 2024-12-06 05:50:15
原創
327 人瀏覽過

Which C  11 Standard Library Container Should I Use?

選擇最佳的 C 11 標準庫容器

經典的「C 容器選擇」備忘單提供了針對特定使用場景選擇適當容器的指導。但是,它缺少 C 11 的更新版本。

作為補償,這裡有一個文字工作流程來幫助選擇容器:

1。語意優先

關聯容器:

  • 如果需要按單一鍵搜索,請使用關聯容器。
  • 選擇有序容器以保持排序元素。
  • 對於單獨的鍵值對,請使用 地圖;對於僅鍵,請考慮設定。
  • 啟用具有「多個」前綴的重複項。

簡單序列容器:

  • 選擇基於以下內容的適當容器標準:

2。記憶體穩定性

  • 如果在容器修改期間元素必須保留在記憶體中,請使用清單。
  • 預設為清單;僅使用 Forward_List 來減少記憶體佔用。

3.動態調整大小

  • 如果大小在編譯時已知並保持不變,且元素預設可構造或使用大括號初始化,則使用陣列。

4.雙端

  • 如果需要從兩端新增或刪除項目,請選擇 Deque。
  • 否則選擇 Vector。

範例

場景:依據唯一性擷取人員資料ID。

  • 我們需要找出功能(關聯容器)。
  • 順序無關(無序)。
  • 鍵(ID)與值(映射)分開.
  • 沒有重複項(沒有"multi").

結果: std::unordered_map.

注意:如果沒有特定約束apply, 建議使用 Vector 作為簡單序列容器的預設選擇。

以上是我應該使用哪個 C 11 標準函式庫容器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板