C++ STL list容器如何访问元素? 在《初识STL库中的list容器》那节我们就可以看到list容器内所有成员函数,如果我们仔细观察,我们就会发现list既没有at()成员函数又没有data()指针,所以我们不能通过at()或data()来对list进行元素访问。当然,由于链表的元素储存地址不是连续的,所以无法通过'[]'重载进行元素访问,所以list只能“认命”,只能通过最基本的元素访问方式——迭代器进行元素访问。 STL序列式容器 2025年10月06日 0 点赞 0 评论 916 浏览
C++ STL工具函数std::move()函数入门 前面一节我们学习了旋转复制算法 rotate_copy() 函数,读者是否还记得它的功能是什么吗?没错,该函数能够在保持原序列不变的前提下生成旋转后的副本。本节我们将学习一个工具算法——move() 函数。"move" 意为"移动",从名称就能看出,这个函数用于将元素从一个位置移动到另一个位置,主要应用于批量高效移动复杂对象。move() 函数的语法格式如下 C++常用算法(二) 2025年10月26日 0 点赞 0 评论 939 浏览
C++ STL遍历算法std::for_each()函数入门 到目前为止,排序、合并、查找模板函数我们都已经深入接触过了,读者是否能够感受到<algorithm>算法头文件的便利之处?对于STL库给定的完美容器我们直接用,高效算法我们直接调,大大提高了我们的工作效率。本节我们将继续学习另外一个模板函数——for_each()。for_each(beg , end , op):这里表示对区间[beg , end)进行op操作,这里op既可以是普通函 C++常用算法(一) 2025年10月22日 0 点赞 0 评论 949 浏览
C++ STL unordered_set容器入门 本节我们将进入unordered_set容器的学习。对于unordered_set容器,我们至少能够知道它的两点规则,即:1. 不会像unordered_map容器一样进行自动排序,反而由于哈希表的缘故,元素根据键被哈希函数映射到桶数组里,显得“杂乱无序”;2. 存储的元素已不再是键值对,而是“值”且不允许存在重复值,我们可以认为它键值一体,还有就是其值不能通过迭代器或成员函数修改。接下来我们将通 STL无序关联式容器 2025年10月15日 0 点赞 0 评论 995 浏览
C++ STL vector容器如何访问元素? 上一节我们具体了解了vector容器的迭代器及其使用方法,本节主要详细介绍各种访问vector内元素的方法,vector容器的访问方式和array非常像,可以跳转至《如何访问array容器内的元素?》将array和vector的访问方式类比起来学习,但是有一点需要牢牢记住,vector可不能通过get()函数模板进行访问!。这里也会详细讲解vector内元素的访问方式,因为学习既需要触类旁通,也需 STL序列式容器 2025年10月02日 2 点赞 0 评论 1109 浏览
C++ STL迭代器适配器简介 本节我们将进入迭代器适配器的学习。迭代器适配器,顾名思义,就是自定义迭代器,在原有迭代器的基础上进行接口的约束或升级。如果读者还不知道什么是适配器的话,可自行跳转《C++ STL容器适配器简介》深入学习。对于SLT库中的所有容器,我们总共有5种迭代器,分别是前向迭代器、双向迭代器、随机访问迭代器、输入迭代器和输出迭代器。我们通常使用迭代器来进行容器的遍历和快速访问首尾元素,这里演示一下通过迭代器遍 STL迭代器适配器 2025年10月18日 0 点赞 0 评论 891 浏览
C++ STL set容器入门 对于SLT库中的关联式容器,我们第一个学到的容器就是map,它属于有序关联式容器且只允许唯一键值存在;当允许重复键值存在时,我们就学习了multimap。今天我们开始学习set容器,set可以被视为是特殊的map,它要求键必须等于值。所以,插入时只需要放入一个元素即可,可见“键值对”的概念被隐式转换了。set最大的特点是能够自动去重和排序,其底层是红黑树实现,时间复杂度为O(log n),相比动态 STL有序关联式容器 2025年10月10日 0 点赞 0 评论 1006 浏览
C++STL之List容器 C++STL之List容器1.再谈链表List链表的概念再度出现了,作为线性表的一员,C++的STL提供了快速进行构建的方法,为此,在前文的基础上通过STL进行直接使用,这对于程序设计中快速构建原型是相当有必要的,这里的STL…… C++STL库教程(附带题库) 2022年01月24日 137 点赞 0 评论 112534 浏览
深度剖析C++ STL deque容器的底层构造 在《初识STL库中deque容器》我们谈到“deque底层是中控区+缓冲区,可以理解为通过指针链接数组块”不知读者是否对这句话有印象。理解这句话,其实已经了解deque的60%了。接下来,我将为读者一一解释deque的神秘面纱。deque分两部分,一部分是中控区,就是一个指针数组,存放着每一块内存的首地址;另一部分是缓冲区,存放着零散的小数组,所以说deque内元素可能不一定连续存储。画一张图读者 STL序列式容器 2025年10月04日 0 点赞 0 评论 1000 浏览