<內容介紹>
任哲、房紅徵、張永忠編著的這本《C++泛型(STL原理和應用)》先在闡述泛型基本概念的基礎上,比較詳細和全面地介紹C++泛型實現的基本技術和基本機制,然後介紹STL的泛型實現技術及其應用方法。本書在內容選材及編寫上註意泛型以及STL初學者的特點,語言通俗易懂,精練而不枯燥;以模擬的方式介紹STL的核心內容,從而達到理論和應用並重的學習效果。
本書是一本理論和應用兼顧,適合泛型設計及STL初學者閱讀的讀物,鑒於它的特點,也適合作為在校電腦專業、軟件工程專業或與之相關專業的教材。
<章節目錄>
第1章 C++泛型技術基礎——模板
1.1 泛型與模板
1.1.1 泛型的基本概念
1.1.2 C++模板及其定義
1.1.3 幾點說明和小結
1.2 關於模板參數
1.2.1 模板參數的種類
1.2.2 模板形參和實參的結合
1.3 特化模板和模板具現規則
1.3.1 特化(特例化)模板
1.3.2 模板的具現
1.4 右值引用與模板
1.4.1 右值引用
1.4.2 右值引用的應用1——轉移語義
1.4.3 右值引用應用2——轉移函數move()
1.4.4 右值引用應用3——參數完美轉發模板
第2章 C++泛型機制的基石——數據類型表
2.1 類模板的公有數據類型成員
2.1.1 類的數據類型成員
2.1.2 再談
2.2 內嵌式數據類型表及數據類型衍生
2.3 數據類型表
2.3.1 數據類型表的概念
2.3.2 數據類型表的應用
2.4 特化數據類型表
2.5 STL中的Traits表
第3章 STL及其使用的其他C++技術
3.1 初識
3.1.1 STL是C++標準庫中的模板類庫
3.1.2 STL應用程序示例
3.2 STL常用的C++技術
3.2.1 運算符重載
3.2.2 函數對象(仿函數)
3.2.3 lambda表達式
3.3 智能指針
3.3.1 智能指針的基本原理
3.3.2 C++11支持的智能指針
第4章 模擬STL三大件
4.1 容器
4.1.1 向量vector的模擬MyVector
4.1.2 列表list的模擬MyList
4.2 迭代器
4.2.1 使用裸指針作為迭代器
4.2.2 迭代器是指針的類封裝
4.2.3 迭代器的代碼隔離作用
4.2.4 STL迭代器的種類
4.2.5 迭代器的種類標記
4.2.6 STL對迭代器的管理
4.3 通用演算法
第5章 容器及其應用
5.1 向量vector
5.2 列表
5.3 雙向隊列deque
5.4 STL關聯式容器
5.5 map容器
5.5.1 map容器的定義
5.5.2 map的數據插入
5.5.3 map容器的其他常用成員方法
5.5.4 multimap容器
5.6 set容器
5.7 hash表基礎及hash容器
5.7.1 hash表基礎
5.7.2 hash容器
第6章 通用演算法
6.1 通用演算法的參數
6.1.1 演算法的迭代器參數
6.1.2 輔助參數
6.1.3 謂詞參數
6.2 演算法時間複雜度
6.3 常用通用演算法
6.3.1 查找和搜索演算法
6.3.2 變異演算法
6.3.3 排序演算法
6.3.4 算術演算法與關係演算法
6.3.5 排列組合與集合演算法
第7章 適配器模式在STL基礎部件上的應用
7.1 適配器
7.2 STL容器適配器
7.2.1 stack適配器
7.2.2 queue適配器
7.2.3 priority_queue適配器
7.3 迭代器適配器
7.3.1 插入迭代器