1. 程式人生 > >侯捷 STL和泛型程式設計(上)

侯捷 STL和泛型程式設計(上)

本篇記錄學習《侯捷 STL和泛型程式設計》

1、認識headers、版本、重要資源

C++標準庫的70%是C++標準模板庫,還有其他部分佔30%左右,C++標準模板庫包含演算法,分配器等六大部分。

2、STL體系結構基礎介紹

(1)前閉後開區間 [ ),例如 物件都有c.begin() 和 c.end()連個函式, c.end()指向最後一個元素地址的下一個地址。

3—6、容器之分類與各種測試

(1)容器分類:sequence container :Array(大小固定),vector(分配器去擴充) ,Deque(雙向的,兩端可進可出),list,forward-List單向連結串列

         Associative  container :Set/Multiset , Map/Multimap

7、分配器之測試

(1)容器有一個預設的分配器。

————————————————————————————————————————————————

以下第二講

——————————————————————————————————————————-——————

8、 原始碼之分佈 (VC, GCC)

(1)VC和GNU C中庫的路徑。

9、OOP (面向物件程式設計) vs. GP (泛型程式設計)

OOP和GP的差別在於:

(1)OOP是面相物件的,所以是將data和function放在一起;

(2)GP是將data和function分開放,通過迭代器將二者聯絡起來

10、技術基礎:操作符過載and模板(泛化, 全特化, 偏特化)

(1)

11、分配器

 

12、 容器之間的實現關係與分類

 

13—14、 深度探索list

 

15、 迭代器的設計原則和Iterator Traits的作用與設計