泛型编程

STL是一种泛型编程,泛型编程旨在编写独立于数据类型的代码,而在C++中,完成通用程序的工具是模板。迭代器是理解STL的关键。模板使得算法独立于存储的数据类型,而迭代器使得算法独立于使用的迭代器类型。

迭代器类型:STL定义了5种迭代器,分别为输入迭代器、输出迭代器、正向迭代器、双向迭代器、随机访问迭代器

输入迭代器:不会修改容器中的值,对输入迭代器解除引用将使程序能够读取容器中的值,但不一定能让程序修改值

输出迭代器:输出迭代器与输入迭代器类似,只是解除引用让程序修改容器值,而不能读取。即能够写却不能读,发送到显示屏上的输出就是如此。cout可以修改发送到显示屏的字符流,却不能读取屏幕上的内容

正向迭代器:正向迭代器只能使用++字符串来遍历容器,与输入和输出的迭代器不同,它总是使用相同的顺序遍历一系列值

双向迭代器:双向迭代器具有正向迭代器的所有特性,同时支持递增和递减运算符

随机访问迭代器:能够直接跳到容器中的任何一个元素,具有双向迭代器的所有特性,同时添加了支持随机访问的操作

STL算法可以使用指针来对基于的非STL容易进行操作,C++支持将超尾概念应用与数组,使得可以将STL算法应用到常规数组。

STL具有容器概念(容器、序列容器、关联容器,概念是具有名称的通用类别)和容器类型(容器类型是可用于创建具体容器对象的模板)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值