C++泛型编程与STL高级培训
一、课程目标
C++作为一门多风格的程序设计语言,除了强大的面向对象支持外,泛型编程(模板机制)的支持更是极大程度上提高了C++的表现能力,现在模板的运用已成
为C++类库、应用程序中自然且不可分割的一部分,渗透到各个角落。本次课程将深入、细致的讲解C++模板机制、STL、Boost相关类库的实现思路、
手法以及其表现出的智慧,以企通过本次课程的学习,将这些经验自如地用到后续的软件开发中。这次课程关注:
二、参训要求
参加本次课程的学员须具备以下能力:
-
本次课程假定学员有编程经历,使用C/C++、Java或其它语言实际编写过代码;
-
能熟练使用Windows或Linux下的编译器(如g++)、调试器(如gdb)。
三、课程实践环境
-
学员自备电脑
-
实践平台 (以下二者之一):
-
Win32 / Visual Studio 2008 (或更新)
-
Linux 2.6.18+ x86-32 / GCC 4.1.2+ / Eclipse CDT 、vi
四、课程大纲
本次课程由以下几个部分构成:
1、C++ 模板机制
-
关于C++模板
-
类模板
-
函数模板
-
模板实例化
-
模板参数
-
使用模板参数指定策略
-
特征类 (Traits classes)
-
模板特化
-
类模板的派生
-
Curiously Recurring Template Pattern (CRTP)
-
依赖名字:关键字typename和template的另一种用处
2、STL 概要
3、STL容器
-
序列容器
-
有序关联容器
-
Multisets
-
Sets
-
Multimaps
-
Maps
-
无序关联容器
-
Unordered Multisets
-
Unordered sets (Hashsets)
-
Unordered Multimaps
-
Unordered maps (Hashmaps)
4、STL迭代器
-
关于迭代器
-
迭代器的操作
-
迭代器类别
-
Input Iterators
-
Output Iterators
-
Forward Iterators
-
Bi-directional Iterators
-
Random Access Iterators
-
Constant Iterators
-
Reverse Iterator
5、STL算法
-
STL算法一览
-
算法类别
-
各类算法介绍
-
非修改性算法
-
修改性算法
-
排序算法
-
集合算法
-
堆算法
6、预与定义STL函数对象
-
预定义一元函数对象
-
预定义二元函数对象
-
判断式(Predicates)
7、STL适配器
-
适配器的概念
-
容器适配器
-
迭代器适配器
-
函数对象适配器
-
Binders
-
Function Adapters
-
Negaters
五、时间安排
课程时间:2天,以每天6小时计,具体安排如下:
-
Day1
-
1 - C++ 模板机制
-
2 - STL 概要
-
3 - STL容器
-
Day2
-
4 - STL迭代器
-
5 - STL算法
-
6 - 预与定义STL函数对象
-
7 - STL适配器
六、课程资源
可获取的课程资源见:。
Gtalk:athzhang@gmail.com
MSN : athxy@live.cn
Q Q :570508473
电 话:18912671348
昆山前进西路1088号虹桥大厦