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;

}

相关推荐
郝学胜-神的一滴5 分钟前
机器学习数据工程之基石:论数据集划分之道与sklearn实践
开发语言·人工智能·python·程序人生·机器学习·sklearn
沐知全栈开发6 分钟前
MySQL 分组
开发语言
wa的一声哭了8 分钟前
内积空间 内积空间二
java·开发语言·python·spring·java-ee·django·maven
QQ_4376643149 分钟前
C++ 可变参数模板、折叠表达式、泛型 Lambda 与引用折叠
开发语言·c++
Web极客码11 分钟前
深入解析WordPress的functions.php文件及其高效使用方法
开发语言·php
m0_5027249514 分钟前
QT列表-QListWidget
开发语言·qt
柏木乃一16 分钟前
进程(8)虚拟地址空间/虚拟内存概述.part1
linux·服务器·c++·进程·虚拟内存·fork
怎么没有名字注册了啊17 分钟前
(Mac)Visual Studio Code 配置 C/C++运行环境
c++·vscode·macos
wa的一声哭了18 分钟前
内积空间 正交与正交系
java·c++·线性代数·算法·矩阵·eclipse·云计算
山土成旧客18 分钟前
【Python学习打卡-Day34】GPU为何“变慢”?从性能悖论到`__call__`的魔力
开发语言·python·学习