侯捷 STL和泛型程式設計(上)
阿新 • • 發佈:2018-11-19
本篇記錄學習《侯捷 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的作用與設計