- C 标准库
- C 标准库
- C++ 标准库
- C++ 库 - 主页
- C++ 库 - <fstream>
- C++ 库 - <iomanip>
- C++ 库 - <ios>
- C++ 库 - <iosfwd>
- C++ 库 - <iostream>
- C++ 库 - <istream>
- C++ 库 - <ostream>
- C++ 库 - <sstream>
- C++ 库 - <streambuf>
- C++ 库 - <原子>
- C++ 库 - <复杂>
- C++ 库 - <异常>
- C++ 库 - <功能>
- C++ 库 - <限制>
- C++ 库 - <语言环境>
- C++ 库 - <内存>
- C++ 库 - <新>
- C++ 库 - <数字>
- C++ 库 - <正则表达式>
- C++ 库 - <stdexcept>
- C++ 库 - <字符串>
- C++ 库 - <线程>
- C++ 库 - <元组>
- C++ 库 - <类型信息>
- C++ 库 - <实用程序>
- C++ 库 - <valarray>
C++ 库 - <forward_list>
介绍
forward_list 是一种常用的序列容器。容器是保存相同类型数据的对象。forward_list 容器被实现为单链表,因此它提供对其数据的单向顺序访问。
forward_list 不提供快速随机访问,它只支持一个方向的顺序访问。forward_list 允许在恒定时间内在序列中的任何位置进行插入和删除操作。
forward_list 的元素可以分散在不同的内存块中。容器存储必要的信息以允许顺序访问其数据。forward_lists 可以在运行时根据需要从两端收缩或扩展。存储要求由内部分配器自动满足。
零大小的前向列表也是有效的。在这种情况下,forward_list.begin()和forward_list.end()指向相同的位置。但是调用 front() 的Behave是未定义的。
定义
以下是 <forward_list> 头文件中 std::forward_list 的定义
template < class T, class Alloc = allocator<T> > class forward_list;
参数
T - 所包含元素的类型。
T 可以替换为任何其他数据类型,包括用户定义的类型。
Alloc - 分配器对象的类型。
默认情况下,使用分配器类模板,它定义了最简单的内存分配模型,并且与值无关。
会员类型
以下成员类型可以用作成员函数的参数或返回类型。
先生。 | 会员类型 | 定义 |
---|---|---|
1 | 值类型 | T(模板的第一个参数) |
2 | 分配器类型 | Alloc(模板的第二个参数) |
3 | 参考 | 值类型& |
4 | 常量引用 | 常量值类型& |
5 | 指针 | 值类型* |
6 | 常量指针 | 常量值类型* |
7 | 迭代器 | value_type 的随机访问迭代器 |
8 | 常量迭代器 | const value_type 的随机访问迭代器 |
9 | 尺码类型 | 尺寸_t |
10 | 差异类型 | ptrdiff_t |
来自 <forward_list> 的函数
下面是 <forward_list> 标头中所有方法的列表。
构造函数
先生。 | 方法及说明 |
---|---|
1 | forward_list::forward_list 默认构造函数
构造一个具有零个元素的空的forward_list。 |
2 | forward_list::forward_list 填充构造函数
构造一个包含n 个元素的新的forward_list,并将val分配给forward_list 的每个元素。 |
3 | forward_list::forward_list 填充构造函数
构造一个具有n 个元素的新的forward_list,并将零值分配给forward_list 的每个元素。 |
4 | forward_list::forward_list 范围构造函数
构造一个forward_list,其元素数量与first到last范围内的元素数量相同。 |
5 | forward_list::forward_list 复制构造函数
使用现有列表中存在的每个元素的副本构造一个forward_list。 |
6 | forward_list::forward_list 移动构造函数
使用移动语义用other的内容构造一个forward_list 。 |
7 | forward_list::forward_list 初始值设定项列表构造函数 从初始化列表构造一个forward_list。 |
析构函数
先生。 | 方法及说明 |
---|---|
1 | 转发列表::~转发列表
通过释放内存来销毁forward_list对象。 |
会员功能
先生。 | 方法及说明 |
---|---|
1 | forward_list::分配 范围版本
通过替换旧值将新值分配给forward_list。 |
2 | forward_list::分配 填充版本
通过替换旧值将新值分配给forward_list。 |
3 | forward_list::分配 初始值设定项列表版本
通过替换旧值将新值分配给forward_list。 |
4 | 前向列表::开始之前
返回一个随机访问迭代器,它指向forward_list的第一个元素之前的位置。 |
5 | 转发列表::开始
返回一个随机访问迭代器,它指向forward_list的第一个元素。 |
6 | 前向列表::cbefore_begin
返回一个常量随机访问迭代器,它指向forward_list第一个元素之前的位置。 |
7 | 转发列表::cbegin
返回一个常量随机访问迭代器,它指向forward_list的开头。 |
8 | 转发列表::cend
返回一个指向forward_list末尾的常量随机访问迭代器。 |
9 | 转发列表::清除
通过从forward_list中删除所有元素来销毁forward_list,并将forward_list的大小设置为零。 |
10 | 前向列表::emplace_after
在forward_list中的位置之后构造并插入新元素,并将forward_list的大小增加一。 |
11 | 前向列表::emplace_front
在forward_list的开头插入新元素并将forward_list的大小增加一。 |
12 | 转发列表::空
测试forward_list是否为空。 |
13 | 转发列表::结束
返回一个随机访问迭代器,它指向forward_list的最后一个元素。 |
14 | forward_list::erase_after位置版本
从forward_list中删除位置后的单个元素。 |
15 | forward_list::擦除范围版本
从forward_list 中删除元素范围。 |
16 | 转发列表::前面
返回对forward_list的第一个元素的引用。 |
17 号 | 转发列表::获取分配器
返回与forward_list关联的分配器 |
18 | forward_list::insert_after 单元素版本
通过在forward_list中的位置之后插入新元素来扩展迭代器 |
19 | forward_list::insert_after 移动版本
通过在forward_list中的位置之后插入新元素来扩展迭代器 |
20 | forward_list::insert_after 填充版本
通过在forward_list中的位置之后插入新元素来扩展迭代器 |
21 | forward_list::insert_after 范围版本
通过在forward_list中的位置之后插入新元素来扩展迭代器 |
22 | forward_list::insert_after 初始值设定项列表版本
通过在forward_list中的位置之后插入新元素来扩展迭代器 |
23 | 转发列表::最大大小
返回forward_list可以容纳的最大元素数。 |
24 | 转发列表::合并
将两个已排序的前向列表合并为一个。 |
25 | forward_list::合并 移动版本
将两个已排序的前向列表合并为一个。 |
26 | forward_list::合并 比较函数
将两个已排序的前向列表合并为一个。 |
27 | forward_list::merge 比较函数移动版本
使用移动语义将两个已排序的前向列表合并为一个。 |
28 | forward_list::operator= 复制版本 通过替换旧内容将新内容分配给forward_list。 |
29 | forward_list::operator= 移动版本
通过替换旧内容将新内容分配到forward_list。 |
30 | forward_list::operator= 初始化列表版本
通过替换旧内容将新内容分配到forward_list。 |
31 | 转发列表::pop_front
从forward_list 中删除第一个元素。 |
32 | forward_list::push_front 复制版本
在forward_list 的开头插入新元素。 |
33 | forward_list::push_front 移动版本
在forward_list 的开头插入新元素。 |
34 | 转发列表::删除
从forward_list 中删除与该值匹配的元素。 |
35 | 转发列表::删除如果
从forward_list中删除满足条件的元素。 |
36 | 转发列表::调整大小
更改forward_list 的大小。 |
37 | forward_list::调整 值版本
更改forward_list 的大小。 |
38 | 正向列表::反向
反转forward_list 中元素的顺序。 |
39 | 转发列表::排序
对forward_list 的元素进行排序。 |
40 | forward_list::排序 比较函数
对forward_list 的元素进行排序。 |
41 | 前向列表::拼接后
将所有元素从forward_list转移到*this。 |
42 | forward_list::splice_after 移动版本
使用移动语义将所有元素从forward_list x转移到*this 。 |
43 | forward_list::splice_after 单个元素
将迭代器i指向的元素从forward_list x传输到*this。 |
44 | forward_list::splice_after 单元素移动版本
使用移动语义将迭代器i指向的元素从forward_list x转移到*this中。 |
45 | forward_list::splice_after 范围版本
将x中第一个到最后一个范围内的元素传输到* this。 |
46 | forward_list::拼接 范围和移动版本
使用移动语义将第一个到最后一个范围内的元素从x转移到*this 。 |
47 | 转发列表::交换
将一个forward_list 的内容与另一个forward_list x的内容交换。 |
48 | 转发列表::唯一
从forward_list中删除所有连续的重复元素。 |
49 | 转发列表::唯一
从forward_list中删除所有连续的重复元素。 |