泛型程序设计基本概念

1、C++的代码重用

C++是一门很强大的语言,他有两种机制来提高代码的重用性,其中一种通过继承实现。另外一种就是泛型。使用模板的程序设计就是泛型程序设计。在C++中模板有两种体现形式,一种是类模板,一种是函数模板

2、泛型程序设计

简单地说就是使用模板的程序设计法。将一些常用的数据结构(比如链表,数组,二叉树)和算法(比如排序,查找)写成模板,以后则不论数据结构里放的是什么对象,算法针对什么样的对象,则都不必重新实现数据结构,重新编写算法。标准模板库 (Standard Template Library) 就是一些常用数据结构和算法的模板的集合。有了STL,不必再写大多的标准数据结构和算法,并且可获得非常高的性能。

3、STL中的基本的概念

(1)容器:

可容纳各种数据类型的通用数据结构,是类模板。

(2)迭代器:

可用于依次存取容器中元素,类似于指针。(用起来像指针,内部也是用指针实现的。)

(3)算法:

用来操作容器中的元素的函数模板。

算法举例:

  • sort()来对一个vector中的数据进行排序。

  • find()来搜索一个list中的对象。

注意:算法本身与他们操作的数据的类型无关,因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用。

迭代器举例:

int array[100];
sort(array,array+70); //将前70个元素排序

该数组就是容器,而 int * 类型的指针变量就可以作为迭代器(作为数组的迭代器)(array、array+70 都是迭代器), sort算法可以作用于该容器上,对其进行排序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值