标准模板库(STL)

6 篇文章 0 订阅
  • 泛型编程
    泛型编程旨在编写独立于数据类型的代码。C++中模板使得能够按泛型定义函数或类,而STL通过通用算法更进了一步。(泛型编程旨在使用同一个算法函数处理数组、链表或任何其他容器类型)
    泛型和OOP之间共同点是抽象和创建可重用代码,但OOP关注的是编程的数据方面,而泛型编程关注的是算法。

STL是一种泛型编程模式,包含一个容器类模板、迭代器类模板、函数对象模板和算法函数模板的集合。

  1. 容器是一个与数组类似的单元,可以存储若干相同类型的值;
  2. 迭代器能够用来遍历容器的对象,与能够遍历数组的指针类似,是广义指针;
  3. 函数对象是类似于函数的对象,可以是类对象或函数指针(包括函数名);
  4. 算法是完成特定任务的处方。
  • 模板使得算法独立于存储的数据类型,而迭代器使得算法独立于使用的容器类型
  • 迭代器类型:输入迭代器、输出迭代器、正向迭代器、双向迭代器、随机访问迭代器。
  • STL使用属于概念描述一组要求(如:正向迭代器要求能够被解除引用以便读写,同时能够被递增);概念真正的实现方式被称为概念的模型(如:正向迭代器概念可以使常规指针或导航链表的对象);基于其他概念的概念叫做改进(如:双向迭代器是正向迭代器概念的改进)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值