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 评论 659 浏览
C++ STL map容器如何获取值(value)? 在基本掌握map容器及其迭代器的基础下,本节将带领读者一起谈论如何获取map中的value。前面我们提到map重载了'[]'符号,能够通过'[]'添加或查看value;还有find()输入key获取指向value的迭代器;其实我们还能通过at()来获取value,count()查看value是否存在。通过代码分别展示3种方式:#include<bits/std STL有序关联式容器 2025年10月07日 0 点赞 0 评论 701 浏览
C++模板是什么? C++模板是C++编程语言中的泛型编程工具,它允许你编写与具体数据类型无关的通用代码。简单来说,模板让你可以创建一个"代码蓝图",编译器会根据这个蓝图为不同的数据类型生成具体的代码。举个例子:在C++的世界里,有很多种数据类型,比如int(整型)、double(双精度浮点型)、float(单精度浮点型)、long long(长整型)等,为了实现各个类型的加法函数,我们一般都会这 STL基础 2025年10月01日 3 点赞 0 评论 746 浏览
C++ STL序列查找算法std::find_first_of()函数入门 本节我们将继续进行序列查找的学习——find_first_of()函数。find_first_of(first1,last1,first2,last2)函数的功能是:用于在第一个序列中查找第二个序列中任意一个元素的第一次出现。它的函数模型是://基本形式template<classInputIt,classForwardIt&nb C++常用算法(一) 2025年10月23日 0 点赞 0 评论 668 浏览
深入学习C++ STL set容器的迭代器 前面我们初识了set容器,本节将会详细介绍set容器的迭代器,set容器迭代器和map容器、multimap容器一样都是双向迭代器,只能进行++或--操作,不能进行随机访问。同此,set容器有正向迭代器begin()、end(),有反向迭代器rbegin()、rend(),还有常量迭代器cbegin()、cend()、crbegin()、crend(),(c表示const,可读不可改)。由于set STL有序关联式容器 2025年10月10日 1 点赞 0 评论 747 浏览
C++ STL容器适配器简介 什么是容器适配器?首先我们需要知道,容器适配器并不属于STL容器,因为它是在已有容器的基础上进行自主设计的。就像笔记本的电源适配器,把220V的电压转化为12-20V不等的电压供笔记本使用;就像读者出国旅游,如果外语不算很流利通过翻译软件跟外国人聊天一样,翻译软件就充当这个适配器的功能。适配器简单来说就是把已有的东西添加一些功能或限制一些接口一样,实现满足需求的目的。在掌握STL容器的基础下,我们 STL容器适配器 2025年10月16日 0 点赞 0 评论 594 浏览
还有人不知道C++ STL vector容器的emplace_back()成员函数? 在前面的章节《初识STL中的vector容器》我们曾谈到vector插入元素的方法,想必大家只知道push_back()这个尾插函数吧,其实,在c++11后,vector还有一个尾插函数,那就是emplace_back(),en的意思是进入,place的意思是位置,emplace_back()就是放到最后面的意思。不是都有push_back()了吗,这么还会有emplace_back()呢?其实这 STL序列式容器 2025年10月03日 1 点赞 0 评论 836 浏览
C++ STL填充算法std::fill()函数入门 前面一节我们学习了区间交换算法remove()函数等移除算法,读者是否还记得它们的功能分别是什么吗?没错,remove()函数能够移除与目标元素完全相等的元素,如果想要自定义比较规则可使用remove_if()函数,需要将与目标元素不等的元素复制到另外一个容器可以使用remove_copy()函数,如果既要定义比较规则又要复制不等元素那就使用remove_copy_if()函数。本节我们将学习一个 C++常用算法(二) 2025年10月27日 0 点赞 0 评论 663 浏览
深度剖析C++ STL list容器的底层构造 在《初识STL库中的list容器》我们就曾明确谈到list容器是双向链表,每一个节点由两个指针和数据组成,两个指针分别指向前一个节点和后一个节点。长这样:链表属于相对简单的数据结构,我们也可以手搓一个简单链表:首先先创建一个结构体,包括数据域和指针域:structnode{intn;//数据域/*创建node指针初始值为空*/node*nex STL序列式容器 2025年10月05日 0 点赞 0 评论 684 浏览
C++ STL谓词判断算法std::all_of()函数入门 本节我们开始谓词判断算法的学习。那什么是谓词判断算法呢?首先我们要知道什么是查询算法,它指的是一类只能进行查询而不能修改元素的算法,其中,谓词判断算法是查询算法的一个子集,它们的功能是判断一个区间是否满足一元谓词的要求,满足则返回true,不满足则返回false。比如我们有一个序列{1,2,3,5,7,9},该序列很多元素都是奇数,我们想要知道这个序列是不是完全奇数序列,此时我们使用all_of( C++常用算法(二) 2025年10月25日 0 点赞 0 评论 608 浏览