STL常用容器 (C++核心基础教程之STL容器详解)String的API

在C++的标准模板库(STL)中,有多种容器可供使用。以下是一些常见的容器类型:

序列容器(Sequential Containers):

std::vector:动态数组,支持快速随机访问。
std::list:双向链表,支持高效的插入和删除操作。
std::deque:双端队列,支持在头部和尾部进行高效插入和删除操作。

关联容器(Associative Containers):

std::set:有序集合,按照键值自动排序,不允许重复元素。
std::map:有序映射表,包含键-值对,按照键自动排序,不允许重复键。
std::multiset:有序集合,按照键值自动排序,允许重复元素。
std::multimap:有序映射表,包含键-值对,按照键自动排序,允许重复键。

无序关联容器(Unordered Associative Containers):

std::unordered_set:无序集合,使用哈希表实现,不保证元素顺序,不允许重复元素。
std::unordered_map:无序映射表,使用哈希表实现,不保证元素顺序,不允许重复键。
std::unordered_multiset:无序集合,使用哈希表实现,不保证元素顺序,允许重复元素。
std::unordered_multimap:无序映射表,使用哈希表实现,不保证元素顺序,允许重复键。

容器适配器(Container Adapters):

std::stack:栈(后进先出)。
std::queue:队列(先进先出)。
std::priority_queue:优先队列,按照优先级进行排序。
除了上述容器类型外,C++ STL 还提供了其他一些辅助容器和算法,如 std::bitset(位集合)、std::valarray(数值数组)以及各种算法库(如算法、迭代器和函数对象等),它们可以与容器结合使用以实现更复杂的操作。

STL常用容器 (C++核心基础教程之STL容器详解)String的API_第1张图片

仿函数:比如说,排序默认从小到大排,我们想要实现从大到小排
适配器:比如说,本来函数只能传一个参数,但我们需要传多个参数
空间配置器:最重要但最不需要关心,因为会自动帮我们完成,自动申请内存,自动释放内存

STL常用容器 (C++核心基础教程之STL容器详解)String的API_第2张图片

不同的容器的内存结构是不一样的,数据类型是不一样的,算法通过数据结构操作容器,为每个容器产生一个迭代器,迭代器与容器一 一对应。
STL常用容器 (C++核心基础教程之STL容器详解)String的API_第3张图片

string类

STL常用容器 (C++核心基础教程之STL容器详解)String的API_第4张图片

string是类,类就有数据和方法
STL常用容器 (C++核心基础教程之STL容器详解)String的API_第5张图片

无参构造
拷贝构造
字符串构造
n个元素构造

assign都是统一的复制
STL常用容器 (C++核心基础教程之STL容器详解)String的API_第6张图片

字符串构造:
STL常用容器 (C++核心基础教程之STL容器详解)String的API_第7张图片
STL常用容器 (C++核心基础教程之STL容器详解)String的API_第8张图片
在这里插入图片描述

append:追加 5个重载
STL常用容器 (C++核心基础教程之STL容器详解)String的API_第9张图片

通俗的理解string的API:

简单理解 std::string 的 API 就是一组用于操作字符串的工具函数或方法。

size():获取字符串的长度,即字符的个数。
empty():检查字符串是否为空,如果为空返回 true,否则返回 false。
substr(pos, len):截取从位置 pos 开始、长度为 len 的子字符串。
append(str):在原字符串末尾添加另一个字符串 str。
erase(pos, len):删除从位置 pos 开始、长度为 len 的子字符串。
replace(pos, len, str):将从位置 pos 开始、长度为 len 的子字符串替换为字符串 str。
find(str, pos):从位置 pos 开始在字符串中查找字符串 str,并返回第一次出现的位置。
rfind(str, pos):从位置 pos 开始在字符串中从后往前查找字符串 str,并返回最后一次出现的位置。

这些方法使得我们可以方便地获取字符串的信息,进行字符串拼接、截取、替换等操作,以及进行字符串的查找和匹配。

通过使用这些 API,我们可以对字符串进行各种常见的处理和操作。

rfind: 从后往前找
STL常用容器 (C++核心基础教程之STL容器详解)String的API_第10张图片

STL常用容器 (C++核心基础教程之STL容器详解)String的API_第11张图片
用成员:
STL常用容器 (C++核心基础教程之STL容器详解)String的API_第12张图片

重载之后的比较会更方便一点:
STL常用容器 (C++核心基础教程之STL容器详解)String的API_第13张图片

STL常用容器 (C++核心基础教程之STL容器详解)String的API_第14张图片

STL常用容器 (C++核心基础教程之STL容器详解)String的API_第15张图片

STL常用容器 (C++核心基础教程之STL容器详解)String的API_第16张图片

你可能感兴趣的:(C++,c++,开发语言)