学习笔记 | C++ 标准模板库(Standard Templa

2021-01-27  本文已影响0人  三金姐姐
C++ 标准模板库的核心

对C++最重要的增强是加入了标准库模板(Standard Template, STL)。算法是可以应用与不同数据结构的常用函数,其应用是通过迭代器来协调的,迭代器决定了算法能够应用于哪些类型的对象。

1 容器

容器是一种数据结构,存储具有相同类型的对象。

2 迭代器

迭代器是一个对象,用于引用存储在容器中的元素。因此,它是一个通用指针。迭代器允许访问包含在容器中的信息,所以可以通过迭代器在这些元素上执行所需要的操作。
作为通用指针,迭代器保留了解除引用符号。比如说,*i是由迭代器i引用的元素。此外,迭代器运算和指针运算类似,尽管在所有的容器中都不允许在迭代器上执行操作。

3 算法

STL提供可大约70个通用函数,称为算法。这些算法能够应用于STL容器和数组。几乎所有的STL算法都是用迭代器来指示元素的范围。算法是容器提供的成员函数之外的函数。

3.1 标准模板库中的算法

要访问这些算法,程序必须包含语句:#include<algorithm>。另外,“在[first, last)范围中的元素”是“在[first, last)范围中由迭代器制定的元素”或“由迭代器引用的、从first开始,但不包括last的元素”的简化说法。

附:标准模板库的成员函数及含义

成员函数 操作
void sort(first,last)                            按照升序排列[first,last)范围中的元素(注意此元素只能是常规类型,不能是结构体等)
void sort(first,last,f()) 按照由关系f()确定的顺序排列[first,last)范围中的元素,且不改变相等元素的相对顺序

易错100《=痛的领悟

1、关于begin()和end()的位置

一个有N个元素的容器a:

上一篇 下一篇

猜你喜欢

热点阅读