8_泛型编程简介

作者: 编程半岛 | 来源:发表于2018-01-20 13:32 被阅读6次

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

相关文章

  • 8_泛型编程简介

    1. 数据结构课程的特点 专注于数据元素之间的关系 专注于特定结构之上的算法 2. 泛型编程 泛型编程的概念:不考...

  • java进阶(一):泛型

    1、泛型简介 所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型,泛型编程是一种编程范式,他利用“参数...

  • java 泛型编程简介

    一、为什么需要泛型 一般的类和方法,只能使用具体的类型:要么是基本的数据类型,要么是自定义的类。如果要编写可以...

  • 第十六章 string类和标准模板库(4)泛型编程

    (四)泛型编程 STL是一种泛型编程,面向对象的编程关注的是数据结构,而泛型编程关注的是算法。它们的共同点是抽象和...

  • 关于STL与泛型编程学习感想一(博览网)

    C++标准库与泛型编程 泛型编程(Generic Programming)就是使用模板(template)为主要工...

  • Swift 泛型

    一、定义 什么是泛型? 网络上对泛型编程的定义是这样的: 泛型编程是一种算法机制为types to-be-spec...

  • Geekband C++ 第五周

    概述 C++模板简介 函数模板 C++类模板 操作符重载 泛型编程 容器

  • C++模板初步

    泛型:指在多种数据类型上皆可操作的含义。泛型编程的代表作品STL是一种高效、泛型、可交互操作的软件组件 泛型编程最...

  • C++ STL与泛型编程-第二篇 (Boolan)

    C++ STL与泛型编程-第二篇 (Boolan) 本章内容:1 OOP(面向对象编程) vs. GP(泛型编程)...

  • golang Interface 泛型编程

    严格来说,在 Golang 中并不支持泛型编程。在 C++ 等高级语言中使用泛型编程非常的简单,所以泛型编程一直是...

网友评论

    本文标题:8_泛型编程简介

    本文链接:https://www.haomeiwen.com/subject/nxftaxtx.html