美文网首页
学习笔记 | C++ 标准模板库(Standard Templa

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

作者: 三金姐姐 | 来源:发表于2021-01-27 21:21 被阅读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:

  • a.begin()=a[0],代表第一个元素
  • a.end()=a[N],代表第N个元素的下一个元素

相关文章

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

    对C++最重要的增强是加入了标准库模板(Standard Template, STL)。算法是可以应用与不同数据结...

  • STL常见面试题

    介绍一下STL Standard Template Library,标准模板库,是C++的标准库之一,一套基于模板...

  • c++实现STL标准库和算法

    【实验楼学习笔记】 STL的原名是“Standard Template Library”,翻译过来就是标准模板库。...

  • c++ STL

    一.STL: standard template library(C++标准模板库) STL共有六大组件:容器、算...

  • 12.STL之vector

    STL 从本节,我们将介绍C++的STL(Standard Template Library)也就是标准模板库,顾...

  • C++基础一文通(六)STL

    一. STL 标准模板库 STL(Standard Template Library,标准模板库) STL 从广义...

  • 1.1 STL简介

    STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序...

  • 19. C++ STL标准模板库介绍

    C++ 的标准模板库(Standard Template Library,STL)是泛型程序设计最成功应用的实例。...

  • STL

    STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序...

  • C++ STL容器底层数据结构总结

    STL 就是所谓的标准模板库(Standard Template Library),这可能是C++程序员的一大利器...

网友评论

      本文标题:学习笔记 | C++ 标准模板库(Standard Templa

      本文链接:https://www.haomeiwen.com/subject/seczzktx.html