C++小白:初识泛型程序设计与STL

①泛型程序设计是什么?
泛型程序设计的特点如果要用一个词语概括,那就是——代码通用。
②泛型程序设计的主要工具——模板
③概念:作为参数的数据类型的功能
④模型:具备一个概念所需要功能的数据类型
⑤子概念:概念B包含概念A中所有的功能且概念A与概念B不同,则B是A的子概念
很多STL的实现都是用概念来命名模板参数的

STL(标准模板库):提供了一些常用的数据结构和算法,奠定了泛型程序设计的逻辑基础
①STL的四个基本组件:
1.容器:用来容纳一组元素的对象
七种基本容器:vector(向量) deque(双端队列) list(列表)
set(集合) multiset(多重集合) map(映射) multimap(多重映射)
两种基本类型:顺序容器:相同类型元素,线性形式组织形成(向量、双端队列和列表)
关联容器:用索引快速提取元素(集合和映射)
使用不同的容器,需要包含不同的头文件
2.迭代器(iterator):
迭代器提供了顺序访问容器中每个元素的方法
①指针和迭代器的关系:指针本身是一种迭代器,迭代器是泛化的指针
②s.begin()指向s的第一个元素,s.end()指向s的最后一个元素的下一个位置
③使用STL中特有的迭代器时,要包含头文件 iterator
3.函数对象
函数对象是一个行为类似函数的对象,对它可以像调用函数一样调用。
①所有函数和重载了()运算符的类的对象都可以作为函数对象来调用,函数对象是泛化的函数
②使用STL的函数对象,需要包含头文件
③negate typename ()函数可以返回参数的相反数
4.算法
使用STL自带的算法,需要包含头文件 algorithm

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值