STL标准库(三)之forward_list

如下一个程序进行演示讲解

#include <forward_list> 需要包含该头文件
template <typename T>

void print(T Begin, T end)

{

for (T i = Begin; i != end; ++i)

{

std::cout << *i << std::endl;

}

std::cout << std::endl;

}

int main()

{

std::forward_list<int> obj(5); 声明一个当前有五个元素的单向链表

int temp = 0;

for (auto i = obj.begin(); i != obj.end(); i++)

{

obj.push_front(temp); 相当于头插法

temp++;

}

for (auto i = obj.begin(); i != obj.end(); i++)

{

std::cout << *i << std::endl; 遍历打印

}

struct std::forward_iterator_tag 该迭代器是一个单向迭代器,只能从头部开始使用,支持++ * = 运算符

auto it = obj.begin(); 接受头部迭代器

*it = 123;赋值123

it++; 指向下一个迭代器

*it = 124; 赋值124

obj.pop_front(); 头部元素弹出

obj.clear(); 清空该链表所有元素

print(obj.begin(), obj.end());

system("pause");

return 0;

}

相关推荐
Funny-Boy7 分钟前
std::move 和 std::forward
c++
落羽的落羽18 分钟前
【落羽的落羽 C++】stack和queue、deque、priority_queue、仿函数
开发语言·c++
刃神太酷啦21 分钟前
类和对象(1)--《Hello C++ Wrold!》(3)--(C/C++)
java·c语言·c++·git·算法·leetcode·github
阿乾之铭26 分钟前
Java后端文件类型检测(防伪造)
java·开发语言
sunbyte33 分钟前
Three.js + React 实战系列 - 联系方式提交表单区域 Contact 组件✨(表单绑定 + 表单验证)
开发语言·javascript·react.js
虾球xz42 分钟前
游戏引擎学习第272天:显式移动转换
c++·学习·游戏引擎
(ღ星辰ღ)1 小时前
js应用opencv
开发语言·javascript·opencv
HY小海1 小时前
【数据结构】双链表
c语言·开发语言·数据结构·学习
DK221511 小时前
计算机网络基础科普
c++·计算机网络
无畏烧风1 小时前
[C++] 一个线程打印奇数一个线程打印偶数
c++