目录

C++ Library - <forward_list>

介绍 (Introduction)

forward_list是一种常用的序列容器。 Container是一个保存相同类型数据的对象。 forward_list容器实现为单链接列表,因此它提供对其数据的单向顺序访问。

forward_list不提供快速随机访问,它仅支持仅在一个方向上的顺序访问。 forward_list允许在一个序列内的任何地方以恒定时间进行插入和删除操作。

forward_list的元素可以分散在不同的内存块中。 容器存储必要的信息以允许顺序访问它的数据。 forward_lists可以在运行时根据需要从两端收缩或扩展。 内部分配器自动满足存储要求。

零大小的forward_lists也是有效的。 在这种情况下,forward_list.begin()和forward_list.end()指向同一位置。 但是调用front()的行为是未定义的。

定义 (Definition)

下面是头文件中std :: forward_list的定义

template < class T, class Alloc = allocator<T> > class forward_list;

参数 (Parameters)

  • T - 包含的元素的类型。

    T可以由包括用户定义类型的任何其他数据类型代替。

  • Alloc - 分配器对象的类型。

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

成员类型 (Member types)

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

Sr.No. 会员类型 定义
1value_type T(模板的第一个参数)
2allocator_type Alloc(模板的第二个参数)
3referencevalue_type&
4const_reference const value_type&
5pointervalue_type*
6const_pointer const value_type *
7iterator value_type的随机访问迭代器
8const_iterator const value_type的随机访问迭代器
9size_typesize_t
10difference_typeptrdiff_t

来自的函数

以下是标头中所有方法的列表。

构造函数 (Constructors)

Sr.No. 方法和描述
1 forward_list::forward_list 默认构造函数

构造一个零元素的空forward_list。

2 forward_list::forward_list 填充构造函数

构造一个包含n个元素的新forward_list,并为forward_list的每个元素分配val

3 forward_list::forward_list 填充构造函数

构造一个包含n个元素的新forward_list,并为forward_list的每个元素赋值。

4 forward_list::forward_list 范围构造函数

构造一个forward_list,其中包含从头到尾范围内的元素。

5 forward_list::forward_list 复制构造函数

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

6 forward_list::forward_list 移动构造函数

使用move语义构造一个带有其他内容的forward_list。

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

从初始化列表构造forward_list。

Destructor

Sr.No. 方法和描述
1 forward_list::~forward_list

通过释放它的内存来销毁forward_list对象。

成员函数 (Member functions)

Sr.No. 方法和描述
1 forward_list::assign range version

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

2 forward_list::assign fill version

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

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

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

4 forward_list::before_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中的位置之后插入新元素,并将forward_list的大小增加1。

11 forward_list::emplace_front

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

12 forward_list::empty

测试forward_list是否为空。

13 forward_list::end

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

14 forward_list::erase_after 位置版本

从forward_list中删除位置之后的单个元素。

15 forward_list::erase 范围版本

从forward_list中删除元素范围。

16 forward_list::front

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

17 forward_list::get_allocator

返回与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::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= 复制版本

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

29 forward_list::operator= 移动版本

通过替换旧内容将新内容分配给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 值版本

更改forward_list的大小。

38 forward_list::reverse

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

39 forward_list::sort

对forward_list的元素进行排序。

40 forward_list::sort compare函数

对forward_list的元素进行排序。

41 forward_list::splice_after

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

42 forward_list::splice_after 移动版本

通过使用移动语义将所有元素从forward_list x转移到* this

43 forward_list::splice_after 单个元素

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

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

通过使用移动语义将迭代器i指向的元素从forward_list x传输到* this

45 forward_list::splice_after 范围版本

传输从x*第一个最后一个范围内的元素。

46 forward_list::splice range和move version

通过使用移动语义,将从x*第一个最后一个范围内的元素转移到此

47 forward_list::swap

使用另一个forward_list x的内容交换forward_list的内容。

48 forward_list::unique

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

49 forward_list::unique

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

非成员重载函数 (Non-member overloaded functions)

Sr.No. 方法和描述
1 operator==

测试两个forward_lists是否相等。

2 operator!=

测试两个forward_lists是否相等。

3 operator<

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

4 operator<=

测试第一个forward_list是否小于或等于其他。

5 operator>

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

6 operator>=

测试第一个forward_list是否大于或等于other。

7 swap

交换两个forward_list的内容。

↑回到顶部↑
WIKI教程 @2018