简介
forward_list是一种常用的序列容器. Container是一个保存相同类型数据的对象. forward_list容器实现为单链接列表,因此它提供对其数据的单向顺序访问.
forward_list不提供快速随机访问,它仅支持仅在一个方向上的顺序访问. forward_list允许在一个序列中的任何位置以恒定时间进行插入和删除操作.
forward_list的元素可以分散在不同的内存块中.容器存储必要的信息以允许顺序访问它的数据. forward_lists可以在运行时根据需要从两端收缩或扩展.内部分配器自动满足存储要求.
零大小的forward_lists也有效.在这种情况下,forward_list.begin()和forward_list.end()指向同一位置.但调用front()的行为是未定义的.
定义
以下是来自< forward_list>的std :: forward_list的定义.头文件
template<类T,类Alloc = allocator< T> > class forward_list;
参数
T : 包含的元素的类型.
T可以被任何其他数据类型替换,包括用户定义的类型.
Alloc : 分配器对象的类型.
默认情况下,使用allocator类模板,它定义了最简单的内存分配模型,并且与值无关.
成员类型
以下成员类型可用作参数或按成员函数返回类型.
Sr.No. | 成员类型 | 定义 |
---|---|---|
1 | value_type | T(模板的第一个参数) |
2 | allocator_type | Alloc(模板的第二个参数) |
3 | 参考 | value_type& |
4 | const_reference | const value_type& |
5 | 指针 | value_type * |
6 | const_pointer | const value_type * |
7 | iterator | value_type的随机访问迭代器 |
8 | const_iterator | const value_type的随机访问迭代器 |
9 | size_type | size_t |
10 | difference_type | ptrdiff_t |
来自< forward_list>
的函数
以下是来自< forward_list>的所有方法的列表标题.
构造函数
Sr.No. | 方法&说明 |
---|---|
1 | forward_list::forward_list 默认构造函数 构造一个零元素的空forward_list. |
2 | forward_list :: forward_list fill constructor 使用 n 元素构造一个新的forward_list并指定 val 到forward_list的每个元素. |
3 | forward_list :: forward_list fill constructor 使用 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 move constructor 使用移动语义构造一个内容为 other 的forward_list. |
7 | forward_list :: forward_list 初始化列表构造函数 从初始化列表构造一个forward_list. |
析构函数
Sr.No. | 方法&说明 |
---|---|
1 | forward_list:::forward_list 通过解除分配内存来销毁forward_list对象. |
成员函数
Sr.No. | Method&说明 |
---|---|
1 | forward_list::assign 范围版本 通过替换旧值为forward_list分配新值. |
2 | forward_list :: assign fill version 通过替换旧值为forward_list分配新值. |
3 | forward_list::assign 初始化列表版本 通过替换旧值为forward_list分配新值. |
4 | forward_list::befor e_begin 返回一个随机访问迭代器,它指向forward_list的第一个元素之前的位置. |
5 | forward_list :: begin 返回一个随机访问迭代器,它指向forward_list的第一个元素. |
6 | forward_list :: cbefore_begin 返回一个常量随机访问迭代器,它指向forward_list的第一个元素之前的位置. |
7 | forward_list :: cbegin 返回一个指向forward_list开头的常量随机访问迭代器. |
8 | forward_list :: cend 返回一个指向forward_list末尾的常量随机访问迭代器. |
9 | forward_list :: clear 通过删除forward_list中的所有元素并将forward_list的大小设置为零来销毁forward_list. |
10 | forward_list :: emplace_after 在forward_list中的 position 之后构造并插入新元素,并将forward_list的大小增加一. |
11 | forward_list :: emplace_front 在forward_list的开头插入新元素,并将forward_list的大小增加一. |
12 | forward_list :: empty 测试forward_list是否为空. |
13 | forward_list :: end 返回一个随机访问迭代器,它指向forward_list的最后一个元素. |
14 | forward_list :: erase_after position version 从forward_list中删除 position 之后的单个元素. |
15 | forward_list :: erase 范围版本 从forward_list中删除元素范围. |
16 | forward_list :: front 返回对forward_list的第一个元素的引用. |
17 | forward_list :: get_allocator 返回与forward_list相关联的分配器 |
18 | forward_list :: insert_after single元素版本 通过在forward_list中的 position 之后插入新元素来扩展迭代器 |
19 | forward_list :: insert_after move version 通过在forward_list中 position 之后插入新元素来扩展迭代器 |
20 | forward_list :: insert_after 填充版本 通过在forward_list中 position 之后插入新元素来扩展迭代器 |
21 | forward_list :: insert_after range version 通过在forward_list中的 position 之后插入新元素来扩展迭代器 |
22 | forward_list :: insert_after 初始化列表版本 通过在forward_list中 position 之后插入新元素来扩展迭代器 |
23 | forward_list :: max_size 返回forward_list可以保留的最大元素数. |
24 | forward_list::merge 将两个已排序的forward_lists合并为一个. |
25 | forward_list :: merge 移动版本 将两个已排序的forward_lists合并为一个. |
26 | forward_list :: merge 比较功能 将两个已排序的forward_lists合并为一个. |
27 | forward_list :: merge 比较函数移动版本 通过使用将两个已排序的forward_lists合并为一个移动语义. |
28 | forward_list :: operator = copy version 通过替换旧内容将新内容分配给forward_list. |
29 | forward_list :: operator = 移动版本 分配新的c通过替换旧的列表来转发到forward_list. |
30 | forward_list :: operator = 初始化列表版本 通过替换旧的内容将新内容分配给forward_list. |
31 | forward_list :: pop_front 从forward_list中删除第一个元素. |
32 | forward_list::push_front 复制版本 在forward_list的开头插入新元素. |
33 | forward_list :: push_front 移动版本 在forward_list的开头插入新元素. |
34 | forward_list :: remove 从forward_list中删除与该值匹配的元素. |
35 | forward_list :: remove_if 从履行条件的forward_list中删除元素. |
36 | forward_list :: resize 更改forward_list的大小. |
37 | forward_list :: resize value version 更改forward_list的大小. |
38 | forward_list :: reverse 反转forward_list中存在的元素的顺序. |
39 | forward_list :: sort 对forward_list的元素进行排序. |
40 | forward_list :: sort 比较功能 对forward_list的元素. |
41 | forward_list :: splice_after Tran将所有元素从forward_list转移到* this. |
42 | forward_list :: splice_after move version 全部转让使用移动语义从forward_list x 到 * this 的元素. |
43 | forward_list :: splice_after 单个元素 将一个由iterator i 指向的元素从forward_list x 传输到 * this . |
44 | forward_list :: splice_after 单个元素移动版本 传输迭代器指向的元素的我从forward_list x 到 * this 使用移动语义. |
45 | forward_list :: splice_after 范围版本 从 x first 范围内的元素转移到 last > to * this . |
46 | forward_list :: splice 范围和移动版本 使用移动语义将 first 到 last 范围内的元素从 x 转移到 * this . |
47 | forward_list :: swap 用内容交换forward_list的内容另一个forward_list x . |
48 | forward_list :: unique 从forward_list中删除所有连续的重复元素. |
49 | forward_list :: unique 从forward_list中删除所有连续的重复元素. |
非会员重载函数
Sr.No. | Method&说明 |
---|---|
1 | operator== 测试两个forward_lists是否相等. |
2 | operator!= 测试两个forward_lists是否相等. |
3 | operator< 测试第一个forward_list是否小于其他. |
4 | operator< = 测试第一个forward_list是否小于或等于与他人或不. |
5 | operator> 测试第一个forward_list是否大于其他. |
6 | operator> = 测试第一个forward_list是否大于或等于其他. |
7 | swap 交换内容两个forward_list. |