c++ stl 标准库容器的选择原则(图)
生活随笔
收集整理的這篇文章主要介紹了
c++ stl 标准库容器的选择原则(图)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、缺省情況下使用vector,提供最簡單的內部數據結構和隨機訪問能力,數據處理一般足夠快了
2、如果在一個序列的兩端經常增刪元素,你應該使用deque,且如果你希望容器在元素刪除后空間也減少,你也應該用deque,且相對于vector只使用一個內存block,deque使用了多塊內存block,因此具有更強的存儲擴展能力
3、如果你在一個容器中間增刪改頻繁,那就使用List,但是由于不提供隨機訪問,所以對訪問元素的性能還是有影響
???list修改后不會影響引用、指針、迭代器,而vector只要超過capacity就使得所有指針失效,vector在插入和刪除的時候使得部分指針失效
4、如果你希望一個容器處理操作的時候要么成功,要么不操作(不拋出異常),則可以使用List或者關聯容器。
5、如果你經常需要進行搜索(按照一定的規則),使用set/multiset,因為他們使用了二叉樹,hashtable具有比二叉樹更加高效的搜索機制,所以盡量使用hashtable,但是hashtable不能排序,所以在需要排序且高效搜索的場合還是用set,
6、處理key/value的時候使用map/multimap
7、如果需要字典,使用multimap?
總結
以上是生活随笔為你收集整理的c++ stl 标准库容器的选择原则(图)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 很多人都不知道学了c/c++到底能做什么
- 下一篇: C++容器的选择和详细操作方法总结(有自