超炫酷的网站,搜索引擎营销主要方法包括,网站主机免备案吗,河南做网站送记账在C的标准模板库#xff08;STL#xff09;中#xff0c;有多种容器可供使用。以下是一些常见的容器类型#xff1a;
序列容器#xff08;Sequential Containers#xff09;#xff1a;
std::vector#xff1a;动态数组#xff0c;支持快速随机访问。 std::list的标准模板库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数值数组以及各种算法库如算法、迭代器和函数对象等它们可以与容器结合使用以实现更复杂的操作。 仿函数比如说排序默认从小到大排我们想要实现从大到小排 适配器比如说本来函数只能传一个参数但我们需要传多个参数 空间配置器最重要但最不需要关心因为会自动帮我们完成自动申请内存自动释放内存 不同的容器的内存结构是不一样的数据类型是不一样的算法通过数据结构操作容器为每个容器产生一个迭代器迭代器与容器一 一对应。
string类 string是类类就有数据和方法 无参构造 拷贝构造 字符串构造 n个元素构造
assign都是统一的复制
字符串构造
append:追加 5个重载
通俗的理解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: 从后往前找 用成员
重载之后的比较会更方便一点