STL简介

本文详细介绍了C++中的STL(Standard Template Library),包括其六个核心组成部分:容器、迭代器、算法、配置器、配接器及仿函数。通过学习这些组件,读者将了解到如何高效地使用STL提供的各种工具,如vector、map和set等,以提高编程效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学C++,必须也要学会使用STL,STL全称standard template library,也就是所谓的标准模板库,它包括了容器,也就是我们学习数据结构时自己手写的链表,栈,队列等等,当然栈和队列只是在原有链表或者deque的基础上砍掉了某些东西而形成的一种结构,在STL中,它不属于容器的范畴,而是属于配接(adapters).
我们可以很明显的从STL中看到什么叫做泛型,泛型编程是如何的,而模板的使用就是为了实现泛型,最终都是用来减少代码的使用…
总之,有了STL这个库之后,当你想使用链表等数据结构时,就不用自己在手写链表,或者粘贴复制到代码中去了,因为STL中都已经给我们封装好了,直接使用即可.用起来也十分的方便快捷,经过大牛们的不断优化算法,所以效率一定比我们自己实现的要快,健壮性更加的强..


首先,我们要知道,STL分为6个部分:

1.容器(containers)
2.迭代器(iterators)
3.算法(algorithms)
4.配置器(allocator)
5.配接器(adapters)
6.仿函数(functors)


1.容器:在STL中主要封装了string,vector,deque,list,map,set等容器…用来存放元素(elements).

2.迭代器:迭代器在STL中类似于C语言中的指针,一般有两个特殊的迭代器,在容器的成员函数中可直接使用,一个是begin(),另一个是end(),当然…rbegin()和rend()也算,好吧…总之,在STL中,迭代器基本可以当成指向对应容器的指针来直接使用.

3.算法:算法可以通过迭代器来对容器进行一些操作,但是却不会删除或是增加原容器的元素数量,可以说算法是通过迭代器来存取容器的内容,一定要记住,算法不能够通过迭代器增加或者删除容器的元素!!!

4.配置器:也叫空间配置器,用来负责空间的配置和管理,从实现的角度看,配置器是实现了动态空间配置,空间管理和空间释放的模板类.

5.配接器:一种修饰容器和仿函数或者迭代器接口的东西.

6.仿函数:一种类似函数的东西,STL库中也给出了一些可以直接使用的仿函数在算法中使用,必须greater<>(),less<>(),plus<>()等等…一般来说,可以是模板函数,但大多是模板类中重载()来实现的…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值