400-886-0806
STL标准库与泛型编程

优惠价:¥600.00

33656
人次学习

课程简介

现今没能使用标准库的C++程序员,简直无法生存于职场,因为其产能过低。

C++标准库是C++程序员不可或缺的生产工具和技术宝库。其中的大体量成份,我们称为STL (Standard Template Library/标准模板库),STL之外则是若干独立个件或用来与STL搭配的小零件。STL本身分为六大部件 (components),彼此有强烈的体系结构。

想要良好运用STL (乃至于整个标准库),必须充份理解STL体系结构;而要彻底掌握其体系结构,又必须理解关键源代码才能竟其功。虽然,作为一个应用程序员,我们最终目标是提升良好使用标准库的能力,但过程中我们也盼望通过对此复杂精巧之体系结构的深刻认识,提升自我的古典 (classic) 计算机技术水平 —— 我指的是编程两大门柱:数据结构 (Data Structures) 和算法 (Algorithms)。

讲师介绍

侯捷

侯捷先生是两岸著名技术教育者,计算机图书作者、译者、书评人。著有《深入浅出MFC》、《多型与虚拟》、《STL源码剖析》、《无责任书评》三卷,译有众多脍炙人口的高阶技术书籍,包括Meyers所著的“Effective C++”系列。侯捷先生还兼任教职于元智大学(台湾)、同济大学(大陆)、南京大学(大陆)。其著作、讲座影响大陆一代程序员。

课程大纲

第一讲:示范运用STL各大部件 (components),并初步认识其体系结构。
1.认识headers、版本、重要资源【试看】
2.STL体系结构基础介绍
3.容器之分类与各种测试(一)
4.容器之分类与各种测试(二)
5.容器之分类与各种测试(三)
6.容器之分类与各种测试(四)
7.分配器之测试
第二讲:深度探索STL的所有分配器、容器、迭代器,以及它们之间的体系结构;深及源代码。
8.源代码之分布 (VC, GCC)
9.OOP (面向对象编程) vs. GP (泛型编程)
10.技术基础:操作符重载and模板(泛化, 全特化, 偏特化)
11.分配器
12.容器之间的实现关系与分类
13.深度探索list上
14.深度探索list下
15.迭代器的设计原则和Iterator Traits的作用与设计
16.vector深度探索
17.array&forward_list深度探索
18.deque&queue和 stack深度探索上
19.deque&queue和 stack深度探索下
20.RB-tree深度探索
21.set/multiset深度探索
22.map/multimap深度探索
23.hashtable深度探索上
24.hashtable深度探索下
25.hash_set/hash_multiset, hash_map/hash_multimap概念
26.unordered容器概念
第三讲:深度探索STL的算法、仿函数、适配器,包括其体系结构,以及它们与容器、迭代器之间的关联和沟通方式。
27.算法的形式
28迭代器的分类 (category)
29.迭代器分类 (category) 对算法的影响
30.算法源代码剖析 (11个例子)
31.仿函数/函数对象
32.存在多种Adapter
33.Binder2nd
34.not1
35.bind
36.reverse_iterator
37.inserter
38.ostream_iterator
39.istream_iterator
第四讲:精选STL以外的主题,包括以 moveable元素大幅强化容器效能,一个万用型hash function。
40.一个万用的hash function
41.Tuple用例
42.Type traits
43.Type traits实现
44.cout
45.moveable元素对于deque速度效能的影响
46.测试函数
更新完毕!