C++ STL容器 —— forward_list 用法详解
写在前面:近期正在学习C++的STL容器,因此在这里做一下日志记录,主要介绍一些容器基本成员函数的用法, 配上实际用例,并不涉及原理。但别人的博客终究是别人的, 最好自己上手操作一下.
写的不好, 请大神手下留情.
下面说的 “运行之后” 表示: 运行上个语句之后的结果.
一行如果说的太长的话, 就得拖动下面的进度条才能看到后面的内容, 非常麻烦
因此将一段话分成了多行,就像现在这种形式
目录
简介
头文件: # include < forward_list >
动态单向链表, 将 list 容器的末端封住, 不能直接的访问和操作
个人感觉, 只对成员函数来说, forward_list更像一个链表
点击前往: list 成员函数用法详解
构造函数
forward_list <int> fl, fl1;
//定义 int 类型的链表
forward_list <char> flch;
//定义 char 类型的链表
forward_list <string> flstr;
//定义 string 类型的链表
forward_list <int> fl2(10);
//定义拥有 10 个元素的链表, 每个元素都为 0
forward_list <int> fl3(5, 30);
//定义拥有 5 个元素的链表,并全部初始化为 30
forward_list <int> fl4 = {
1,2,3,4 };
//定义拥有 4 个空间的链表, 初始化为{1,2,3,4}
forward_list <int> fl5{
1,2,3,4 };
//同上
forward_list <int> fl6(fl);
//定义新容器, 拷贝 fl 所有的元素
forward_list <int> fl7(fl.begin(), fl.end());
//定义新容器, 拷贝 l 区间内所有的元素
访问 / 赋值
迭代器
分为:begin、end、cbegin、cend、before_begin、cbefore_begin
使用方法:
auto it=fl.begin(); //相当于指针,用 *it 访问
fl.begin(); 返回指向fl第一个元素的迭代器
fl.end(); 返回指向fl最后一个元素下一个元素的迭代器
fl.cbegin(); 返回指向fl第一个元素的迭代器, 类型为const
fl.before_begin(); 返回指向第一个元素之前的迭代器
例: 使用正向遍历 fl 数组
forward_list <int> fl{
1,2,3,4,5,6 };
for (auto it = fl.begin