C++ STL 迭代器辅助函数advance()入门 本章到此为止,我们已经学习了所有的迭代器适配器。但我们并不止步于此,我们还可以对迭代器有更深的理解!从本节开始,我们将进入迭代器函数的学习。那什么是迭代器函数呢?对于这个疑惑,读者无需担心,因为迭代器函数就像普通函数一样有参数和返回值两个基本属性,它能使我们更好地操作函数。值得注意的是,迭代器函数需要包含<iterator>头文件才能使用。迭代器函数并不多,就只有4个:advance( STL迭代器适配器 2025年10月20日 0 点赞 0 评论 347 浏览
不要试图修改C++ STL有序关联式容器内元素的键(key)! C++ STL库有序关联式容器我们已经学习完了。想必有不少读者存疑:能不能修改元素的键(key)呢?答案是肯定的,不能!为什么,就像是下标对于数组一样,是数组属性的一部分,键(key)对于有序关联式容器来说也是如此,键(key)关乎容器内元素的访问和排序,是基本的属性规则,不允许修改。其次,pair模板对象的底层是:pair(const_T1&__a,c STL有序关联式容器 2025年10月12日 0 点赞 0 评论 348 浏览
深入学习C++ STL deque容器的迭代器 前面《初识STL库中deque容器》我们已经学会创建deque容器并且了解到很多deque的成员函数,本节将会详细讲解deque容器的迭代器。deque容器和vector容器一样,都有begin()、end();rbegin()、rend();cbegin()、crbegin()···下图为deque迭代器指向:下面将通过代码向您展示如何通过迭代器访问deque内的元素:#include<b STL序列式容器 2025年10月04日 0 点赞 0 评论 379 浏览
C++ STL工具函数std::move()函数入门 前面一节我们学习了旋转复制算法 rotate_copy() 函数,读者是否还记得它的功能是什么吗?没错,该函数能够在保持原序列不变的前提下生成旋转后的副本。本节我们将学习一个工具算法——move() 函数。"move" 意为"移动",从名称就能看出,这个函数用于将元素从一个位置移动到另一个位置,主要应用于批量高效移动复杂对象。move() 函数的语法格式如下 C++常用算法(二) 2025年10月26日 0 点赞 0 评论 325 浏览
C++ STL竟然有这么多个版本 自1998年ANSI/ISO C++标准正式确立,STL成为C++标准库的必备组件后,由于其开源特性与标准化接口,各大编译器厂商与开源社区纷纷基于标准规范,开发了各具特色的STL实现版本。这些实现均在遵循标准接口的前提下,针对性能、可移植性或特定平台进行了优化,其中具有代表性的包括HP STL、SGI STL、STLport、P.J. Plauger主导的PJ STL以及Rouge Wave ST STL基础 2025年10月01日 1 点赞 0 评论 471 浏览
C++STL之Vector容器 C++STL之Vector容器1.概念Vector可以翻译为向量,或向量数组,至于为什么以向量命名,可以理解为一维空间也是存在向量的。Vector是最简单的序列是容器,就像数组一样,向量使用连续的存储位置作为元素,这意味着它们的元…… C++STL库教程(附带题库) 2022年04月11日 294 点赞 0 评论 122847 浏览
C++ STL 函数重名时,你会选择成员函数还是模板函数? 到目前为止,我们已经学习了所有容器和大部分模板函数,读者是否遇到过这样的问题:算法头文件<algorithm>和容器的成员函数”撞衫“了,该选择哪一个好呢?比如查找函数,算法库中提供了一个模板函数find(),所有的关联式容器都有这个同名的成员函数find(),都能够判断是否存在该元素:#include<iostream>#include<vector>#i C++常用算法(一) 2025年10月23日 0 点赞 0 评论 332 浏览
C++ STL unordered_multiset容器入门 本节我们将进行unordered_multiset容器学习。对比前面我们学过的unordered_set容器,unordered_multiset容器的“特殊之处”在于允许出现重复值,也就是说unordered_multiset容器将“退化”成普通数组,由于其内的元素被哈希函数映射到桶数组里,所以还保持“无序”性,有别于普通数组。unordered_ STL无序关联式容器 2025年10月15日 0 点赞 0 评论 326 浏览
C++ STL forward_list容器入门 就像array是vector的“轻量型”一样,list也有自己的“轻量型”——forward_list。什么是forward_list,简单来说,forward_list就是单链表,每个节点只包含一个后驱指针,如果读者忘记单链表的相关知识,可跳转《链表》补充相关知识。在C++11后,为了追求轻便高效的容器,STL大师将list“优化”为forward_list,forward_list仅支持头增头 STL序列式容器 2025年10月06日 1 点赞 0 评论 383 浏览
C++ STL二分查找std::equal_range()函数入门 前面一节我们学习了upper_bound()函数,该哈数的功能是在指定有序区间内查找第一个高于目标元素的元素。本节我们开始学习新的二分查找函数——equal_range()函数。“equal”意为“对等的”,“range”意为“范围”,equal_range()函数的功能是在指定有序范围内查找等于目标元素的元素范围,作用区间和lower_bound()函数一样都必须为有序区间,比如我们有一个有序序 C++常用算法(一) 2025年10月25日 0 点赞 0 评论 331 浏览