C++:标准模板库STL

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_28446365/article/details/89066449

C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数(提供了一组表示容器、迭代器、函数对象和算法的模板),这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。

容器:一个与数组类似的单元,可以存储若干值。STL容器是同质的,即存储的值的类型相同。用来管理某一类对象的集合。C++ 提供了各种不同类型的容器,比如 deque、list、向量容器vector、map 等。

迭代器:能够用来遍历容器的对象,与能够遍历数组的指针类似,是广义指针。用于遍历对象集合的元素。理解STL的关键所在。

算法:完成特定任务(如对数组进行排序或在链表中查找特定值)的处方,作用于容器。它们提供了执行各种操作的方式,包括对容器内容执行初始化、排序、搜索和转换等操作。

函数对象:类似于函数的对象,可以是类对象或函数指针(包括函数名,因为函数名被用作指针)。

  • STL不是面向对象的编程,而是一种不同的编程模式——泛型编程(generic programming)。
  • 面向对象编程关注的是编程的数据方面,而泛型编程关注的是算法。他们之间的共同点是抽象和创建可重用代码,但是理念决然不同。
  • 泛型编程旨在编写独立于数据类型的代码。在C++中,完成通用程序的工具是模板(任何数据类型都可以使用该程序设计)。模板使得能够按照泛型定义函数或类,STL结合模板才能实现通用算法。

容器、算法和迭代器都带有丰富的预定义函数,通过简单的方式处理复杂的任务。

猜你喜欢

转载自blog.csdn.net/baidu_28446365/article/details/89066449