深入學習c++--容器
阿新 • • 發佈:2019-05-03
學習 img png nor stack eight 數組 strong 操作
1. 簡介
1. 序列式容器: array, vector, deque, list, forward_list --- 數組 或者 指針實現
2. 關聯容器: set, map, multiset, multimap --- 二叉樹 紅黑樹 O(logn)
3. 無順序容器: unordered_map, unordered_set, unordered_multimap, unordered_multiset
補充拓展:
4. stack
5. queue
6. priority_queue
7. string
8. bitset: (0或1)
2. 元素要求
1. 元素必須 可以被賦值操作來復制或者搬移 (因為容器和算法對復寫的要求)
2. 元素必須可以被銷毀
3. 對於序列容器,元素 必須有默認的構造函數
4. 對於某些操作, 元素需要定義 ==
5. 對於關聯容器,排序準則默認的是: <, std:less
6. 無順序容器,必須要提供一個 hash函數, 需要 ==
7. stl容器裏面 存的是元素的值,而不是引用
8. 容器裏面應該存放:
- 基本元素
- class : 滿足上述
9. stl的設計原則是效率優先,安全為次
3. 容器的通用接口
4. 基本使用
4.1 array
深入學習c++--容器