C ++库 - <forward_list>

简介

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> &GT; class forward_list;

参数

  • T : 包含的元素的类型.

    T可以被任何其他数据类型替换,包括用户定义的类型.

  • Alloc : 分配器对象的类型.

    默认情况下,使用allocator类模板,它定义了最简单的内存分配模型,并且与值无关.

成员类型

以下成员类型可用作参数或按成员函数返回类型.

Sr.No.成员类型定义
1value_typeT(模板的第一个参数)
2allocator_typeAlloc(模板的第二个参数)
3参考value_type&
4const_referenceconst value_type&
5指针value_type *
6const_pointerconst value_type *
7iteratorvalue_type的随机访问迭代器
8const_iteratorconst value_type的随机访问迭代器
9size_typesize_t
10difference_typeptrdiff_t

来自< forward_list>

的函数

以下是来自< forward_list>的所有方法的列表标题.

构造函数

Sr.No.方法&说明
1forward_list::forward_list  默认构造函数

构造一个零元素的空forward_list.

2forward_list :: forward_list   fill constructor

使用 n 元素构造一个新的forward_list并指定 val 到forward_list的每个元素.

3forward_list :: forward_list   fill constructor

使用 n 元素构造一个新的forward_list,并为forward_list的每个元素赋值为零.

4forward_list :: forward_list  范围构造函数

构造一个forward_list,其元素数量在 first last 的范围内.

5forward_list :: forward_list  复制构造函数

构造一个forward_list,其中包含现有列表中每个元素的副本.

6forward_list :: forward_list   move constructor

使用移动语义构造一个内容为 other 的forward_list.

7forward_list :: forward_list  初始化列表构造函数

从初始化列表构造一个forward_list.

析构函数

Sr.No.方法&说明
1forward_list:::forward_list

通过解除分配内存来销毁forward_list对象.

成员函数

Sr.No.Method&说明
1forward_list::assign  范围版本

通过替换旧值为forward_list分配新值.

2forward_list :: assign   fill version

通过替换旧值为forward_list分配新值.

3forward_list::assign  初始化列表版本

通过替换旧值为forward_list分配新值.

4forward_list::befor e_begin

返回一个随机访问迭代器,它指向forward_list的第一个元素之前的位置.

5forward_list :: begin

返回一个随机访问迭代器,它指向forward_list的第一个元素.

6forward_list :: cbefore_begin

返回一个常量随机访问迭代器,它指向forward_list的第一个元素之前的位置.

7forward_list :: cbegin

返回一个指向forward_list开头的常量随机访问迭代器.

8forward_list :: cend

返回一个指向forward_list末尾的常量随机访问迭代器.

9forward_list :: clear

通过删除forward_list中的所有元素并将forward_list的大小设置为零来销毁forward_list.

10forward_list :: emplace_after

在forward_list中的 position 之后构造并插入新元素,并将forward_list的大小增加一.

11forward_list :: emplace_front

在forward_list的开头插入新元素,并将forward_list的大小增加一.

12forward_list :: empty

测试forward_list是否为空.

13forward_list :: end

返回一个随机访问迭代器,它指向forward_list的最后一个元素.

14forward_list :: erase_after   position version

从forward_list中删除 position 之后的单个元素.

15forward_list :: erase  范围版本

从forward_list中删除元素范围.

16forward_list :: front

返回对forward_list的第一个元素的引用.

17forward_list :: get_allocator

返回与forward_list相关联的分配器

18forward_list :: insert_after   single元素版本

通过在forward_list中的 position 之后插入新元素来扩展迭代器

19forward_list :: insert_after   move version

通过在forward_list中 position 之后插入新元素来扩展迭代器

20forward_list :: insert_after  填充版本

通过在forward_list中 position 之后插入新元素来扩展迭代器

21forward_list :: insert_after   range version

通过在forward_list中的 position 之后插入新元素来扩展迭代器

22forward_list :: insert_after  初始化列表版本

通过在forward_list中 position 之后插入新元素来扩展迭代器

23forward_list :: max_size

返回forward_list可以保留的最大元素数.

24forward_list::merge

将两个已排序的forward_lists合并为一个.

25forward_list :: merge  移动版本

将两个已排序的forward_lists合并为一个.

26forward_list :: merge  比较功能

将两个已排序的forward_lists合并为一个.

27forward_list :: merge  比较函数移动版本

通过使用将两个已排序的forward_lists合并为一个移动语义.

28forward_list :: operator =   copy version

通过替换旧内容将新内容分配给forward_list.

29forward_list :: operator =  移动版本

分配新的c通过替换旧的列表来转发到forward_list.

30forward_list :: operator =  初始化列表版本

通过替换旧的内容将新内容分配给forward_list.

31forward_list :: pop_front

从forward_list中删除第一个元素.

32forward_list::push_front  复制版本

在forward_list的开头插入新元素.

33forward_list :: push_front  移动版本

在forward_list的开头插入新元素.

34forward_list :: remove

从forward_list中删除与该值匹配的元素.

35forward_list :: remove_if

从履行条件的forward_list中删除元素.

36forward_list :: resize

更改forward_list的大小.

37forward_list :: resize   value version

更改forward_list的大小.

38forward_list :: reverse

反转forward_list中存在的元素的顺序.

39forward_list :: sort

对forward_list的元素进行排序.

40forward_list :: sort  比较功能

对forward_list的元素.

41forward_list :: splice_after

Tran将所有元素从forward_list转移到* this.

42forward_list :: splice_after   move version

全部转让使用移动语义从forward_list x * this 的元素.

43forward_list :: splice_after  单个元素

将一个由iterator i 指向的元素从forward_list x 传输到 * this .

44forward_list :: splice_after  单个元素移动版本

传输迭代器指向的元素的我从forward_list x * this 使用移动语义.

45forward_list :: splice_after  范围版本

x  first 范围内的元素转移到 last > to * this .

46forward_list :: splice  范围和移动版本

使用移动语义将 first last 范围内的元素从 x 转移到 * this .

47forward_list :: swap

用内容交换forward_list的内容另一个forward_list x .

48forward_list :: unique

从forward_list中删除所有连续的重复元素.

49forward_list :: unique

从forward_list中删除所有连续的重复元素.

非会员重载函数

Sr.No.Method&说明
1operator==

测试两个forward_lists是否相等.

2operator!=

测试两个forward_lists是否相等.

3operator<

测试第一个forward_list是否小于其他.

4operator< =

测试第一个forward_list是否小于或等于与他人或不.

5operator>

测试第一个forward_list是否大于其他.

6operator> =

测试第一个forward_list是否大于或等于其他.

7swap

交换内容两个forward_list.