8_泛型编程简介

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

    原文作者:jacob2359
    原文地址: https://www.jianshu.com/p/cd88175d28fd
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞