C++ STL 迭代器辅助函数advance()入门 本章到此为止,我们已经学习了所有的迭代器适配器。但我们并不止步于此,我们还可以对迭代器有更深的理解!从本节开始,我们将进入迭代器函数的学习。那什么是迭代器函数呢?对于这个疑惑,读者无需担心,因为迭代器函数就像普通函数一样有参数和返回值两个基本属性,它能使我们更好地操作函数。值得注意的是,迭代器函数需要包含<iterator>头文件才能使用。迭代器函数并不多,就只有4个:advance( STL迭代器适配器 2025年10月20日 0 点赞 0 评论 280 浏览
C++ STL 移动迭代器入门 本节我们将详细介绍移动迭代器适配器,又称之为“移动迭代器”。那么什么是移动迭代器呢?简言之,“*it”表示迭代器解引用,为左值引用,能够访问和二次赋值对象;而使用移动迭代器后,“*it”表示右值引用,直接更改元素的内部指针,实现资源转移。移动迭代器的强大之处在于高效率“移动”对象,但是需要谨慎使用,因为移动后“源对象”处于非定义状态,可能会造成程序的崩溃。为了更加详细地介绍移动迭代器,我们可以举个 STL迭代器适配器 2025年10月20日 0 点赞 0 评论 296 浏览
1305: 老管家的忠诚(ST表) 摘要:解题思路:ST 表原理:利用动态规划预处理出所有长度为2^j的区间最小值,查询时通过两个覆盖目标区间的预处理区间的最小值得到结果,实现O(1)查询。预处理:时间复杂度O(n log n),通过递推关系…… 题解列表 2025年10月19日 0 点赞 0 评论 159 浏览
C++ STL 流缓冲区迭代器入门 上一节我们学习了流迭代器,本节我们继续深入学习流对象的缓冲区迭代器——分别是istreambuf_iterator(从缓冲区读取字符)和ostreambuf_iterator(向缓冲区写入字符)。由于缓冲区读取数据要比流对象快,所以流缓冲区迭代器的操作效率要比流迭代器高。但在需要类型转换和数据验证的场景中,流迭代器提供了更好的安全性和便利性,读者需要明晰两者之间的区别。它们的使用方式十分“相似&q STL迭代器适配器 2025年10月19日 0 点赞 0 评论 257 浏览
C++ STL 流迭代器适配器入门 流迭代器适配器,指的是将输入输出流当作迭代器来使用,分两种:istream_iterator用于写入流对象;ostream_iterator用于读取流对象。流迭代器的目的是让流对象适配容器,桥接算法以实现声明式的数据管理通道。那什么是流对象呢?读者可能还不熟悉这个名词。其实,我们从一开始接触编程的时候就学过流对象了!读者还记得”cout<<"Hello World!" STL迭代器适配器 2025年10月19日 0 点赞 0 评论 296 浏览
C++ STL 插入迭代器适配器入门 插入迭代器适配器,又被称为插入迭代器或插入器(往后统一“插入迭代器”命名),故名思意,就是使用迭代器插入元素。一般我们都是通过迭代器读改元素,比如我要读改一个元素(it为非可读迭代器,假设*it数据类型为Int):*it=0;//改cout<<*it;//读而使用插入迭代器时:*it=0;//插入一个元素插入迭代 STL迭代器适配器 2025年10月19日 0 点赞 0 评论 304 浏览
C++ STL 反向迭代器适配器入门 反向迭代器适配器,又被称为反向迭代器或逆向迭代器(往后统一“反向迭代器”命名),顾名思义,就是用来逆序输出元素的。读者请牢牢记住,反向迭代器适配器的适配迭代器要么是双向迭代器,要么是随机迭代器,绝不可能是前向迭代器!其原因也可想而知,适配器只是对现有现有功能进行包装,无法为底层迭代器添加原本不支持的操作,比如forward_list这种前向迭代器,它原本就不支持--操作,就别指望forward_l STL迭代器适配器 2025年10月19日 0 点赞 0 评论 249 浏览
用标准库函数进行字符串分类 摘要:如下```#include #include using namespace std;int main(){ string input; getli…… 题解列表 2025年10月18日 2 点赞 0 评论 557 浏览
C++ STL迭代器适配器简介 本节我们将进入迭代器适配器的学习。迭代器适配器,顾名思义,就是自定义迭代器,在原有迭代器的基础上进行接口的约束或升级。如果读者还不知道什么是适配器的话,可自行跳转《C++ STL容器适配器简介》深入学习。对于SLT库中的所有容器,我们总共有5种迭代器,分别是前向迭代器、双向迭代器、随机访问迭代器、输入迭代器和输出迭代器。我们通常使用迭代器来进行容器的遍历和快速访问首尾元素,这里演示一下通过迭代器遍 STL迭代器适配器 2025年10月18日 0 点赞 0 评论 297 浏览
深度剖析C++ STL priority_queue适配器底层的堆结构 在《C++ STL priority_queue适配器入门》我们就曾提到优先队列的底层结构是堆,具体是二叉堆,这个二叉堆可以类比二叉树进行学习。可能有读者存疑了,本章不是在学习容器适配器吗,怎么会谈到底层结构呢,这么说优先队列底层到底是堆还是vector容器还是deque容器呢?其实,结构和容器是两个完全不同的概念,但是它们可以组合在一起!就适配容器而言,优先队列采用vector容器或deque容 STL容器适配器 2025年10月18日 2 点赞 0 评论 308 浏览