C/C++教程

【C++实习生】每天十道面试题打卡

本文主要是介绍【C++实习生】每天十道面试题打卡,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.请说说STL的基本组成部分

STL主要由6部分组成:容器、算法、迭代器、仿函数、适配器和空间配制器

(1)容器

是一种数据结构,如list,vector和deque,以模板类的方法提供。为了访问容器中的数据,可以使用由容器类输出的迭代器。

(2)算法

是用来操作容器中数据的模板函数的。例如。STL用sort()来堆一个vector中的数据进行排序,用find()来搜索一个list中的对象,函数本身与它们操作数据的结构和容器无关,因此它们可以用于简单数组到高度复杂容器的任何数据结构上。

(3)迭代器

提供了访问容器中对象的方法。例如,可以使用一对迭代器指定list或vector中的一定范围的对象。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是迭代器也可以是那些定义了opreator*()以及其他类似于指针的操作符方法的类对象。

(4)仿函数

仿函数又被称为函数对象,就是重载了操作符的struct,没有什么特别的地方

(5)适配器

简单来说是一种接口类,专门用来修改现有类的接口,提供一种新的接口;或者调用现有的函数来实现所需要的功能。主要包括三种适配器:容器适配器、迭代器适配器和函数适配器。

(6)空间配制器

为STL提供空间配置的系统。其中主要工作包括两部分:

这篇关于【C++实习生】每天十道面试题打卡的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!