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;

}

相关推荐
lkbhua莱克瓦2416 小时前
基础-事务
开发语言·数据库·笔记·mysql·事务
xxxmine16 小时前
ConcurrentHashMap 和 Hashtable 的区别详解
java·开发语言
阿猿收手吧!16 小时前
【C++】brpc与grpc对比
开发语言·c++
oioihoii16 小时前
C++虚函数表与多重继承内存布局深度剖析
java·jvm·c++
会员果汁16 小时前
算法-拓扑排序-C
c语言·开发语言·算法
BestOrNothing_201516 小时前
C++ 内存泄漏的“真实成本”: 内存单位换算、堆分配开销与工程级判断
c++·内存管理·内存泄漏·堆内存·raii·内存换算·异常安全
wangchen_016 小时前
深入理解 C/C++ 强制类型转换:从“暴力”到“优雅”
java·开发语言·jvm
lly20240616 小时前
CSS 颜色
开发语言
潲爺16 小时前
《Java 8-21 高频特性实战(上):5 个场景解决 50% 开发问题(附可运行代码)》
java·开发语言·笔记·学习
资生算法程序员_畅想家_剑魔16 小时前
算法-回溯-14
java·开发语言·算法