1. 数据结构课程的特点
- 专注于数据元素之间的关系
- 专注于特定结构之上的算法
2. 泛型编程
泛型编程的概念:不考虑具体数据类型的编程方式
C++中函数模板:一种特殊的函数可用不同类型进行调用,看起来和普通函数很相似,却别是类型可被参数化。
template<typename T>
void swap(T& a, T& b)
{
T t = a;
a = b;
b = t;
}
C++中类模板:以相同的方式处理不同的类型, 在类声明前使用template
进行标识
template< typename T>
class Operator
{
public:
T op(T a, T b);
}
Operator<int> op1; // 必须显示指定具体类型
int i = op1.op(1, 2);
3. 小结
- 模板是泛型编程理论在C++中的实现
- 函数模板支持参数的自动推导和显示指定
- 类模板在使用时只能显示指定类型
- 类模板非常适用于编写数据结构的相关代码
声明:此文章仅是本人在学习狄泰学院《数据结构实战开发教程》所做的笔记,文章中包含狄泰软件资料内容,一切版权归狄泰软件所有!
实验环境:ubuntu10 + Qt Creator2.4.1 + Qt SDK 4.7.4