1. 程式人生 > >Effective_STL 學習筆記(二)小心對 “容器無關程式碼” 的幻想

Effective_STL 學習筆記(二)小心對 “容器無關程式碼” 的幻想

 

  STL 是建立在泛化上的,陣列泛化為容器,引數化了所包含的物件的型別。函式泛化為演算法,引數化了所用的迭代器型別。指標泛化為迭代器,引數化了所指向物件的型別。

  泛化繼續,獨立的容器型別泛化為序列或關聯容器。標準的記憶體相鄰的容器都提供隨機訪問迭代器,標準的基於節點的容器都提供雙向迭代器。序列容器支援push_front 或 push_back,但關聯容器不支援。關聯容器提供對數時間複雜度的 lower_bound、upper_bound 和 equal_range 成員函式。

 

  隨著泛化的繼續,努力去寫 “ 容器無關的程式碼 ”,可能是出於泛化的目的,卻幾乎總會造成麻煩。