list与流迭代器stream_iterator

这篇具有很好参考价值的文章主要介绍了list与流迭代器stream_iterator。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

运行代码:

//list与流迭代器
#include"std_lib_facilities.h"
//声明Item类
struct Item
{
	string name;
	int iid;
	double value;

	Item():name(" "),iid(0),value(0.0){}
	Item(string ss,int ii,double vv):name(ss),iid(ii),value(vv){}
	
	friend istream& operator>>(istream& is, Item& ii);
	friend ostream& operator<<(ostream& os, const Item& ii);

};

//------------------------------------------------------------
//重载Item类的输入和输出操作符
istream& operator>>(istream& is, Item& ii)
{
	is >> ii.name >> ii.iid >> ii.value;
	return is;
}

ostream& operator<<(ostream& os, const Item& ii)
{
	os << ii.name << " " << ii.iid << " " << ii.value;
	return os;
}

//----------------------------------------------------------

int main()
try
{
	cout << "输入读取文件名: ";
	string from_file;
	cin >> from_file;

	ifstream is(from_file.c_str());
	if (!is)error("can't open ", from_file);

	istream_iterator<Item>ii(is);
	istream_iterator<Item>eos;
	ostream_iterator<Item>oo(cout, "\n");

	list<Item>ll(ii, eos);
	copy(ll.begin(), ll.end(), oo);

	return 0;
}
catch (exception& e) {
	cerr << "error:" << e.what() << '\n';
	keep_window_open();
	return 1;
}
catch (...) {
	cerr << "Oops:unknown exception!\n";
	keep_window_open();
	return 2;
}

读取文件:Item_file.txt

Max 2 43.2
Jane 3 34.2
Tom 3 32.4
Mary 8 23.0
Peter 5 32.5
Max 2 43.2
Jane 3 34.2
Tom 3 32.4
Mary 8 23.0
Peter 5 32.5
 

运行结果:

list与流迭代器stream_iterator,C++程序设计原理与实践——bs,c++,算法,数据结构文章来源地址https://www.toymoban.com/news/detail-619689.html

到了这里,关于list与流迭代器stream_iterator的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • list.stream.filter,List<List>转换为List

    可以使用流(Stream)的`flatMap`操作 在这个示例中,我们首先创建了一个嵌套的 List 对象 nestedList ,其中包含了多个 List 。然后,我们使用流的 flatMap 操作将嵌套的 List 展开为一个平铺的 List ,最后使用 collect 方法将结果收集到一个新的 List 对象 flatList 中。最后,我们打印出 f

    2024年02月13日
    浏览(32)
  • 【c++】list迭代器失效问题

    目录 一、list iterator的使用 二、list的迭代器失效         对于list的迭代器的用法,可以将它看做一个指针(实际要更加复杂)来使用,该指针指向list中的一个节点。         【注意】         (1)begin和end为正向迭代器,对迭代器执行++操作,迭代器向后移动         (2)r

    2024年01月23日
    浏览(33)
  • Collction的List方法,list特有方法,遍历方式,迭代器选择

    @[to] 以下为list删除拓展

    2024年02月05日
    浏览(38)
  • 【C++】手撕 list类(包含迭代器)

    目录 1,list的介绍及使用 2,list_node 3,list_node() 3,list 4,list() 5,push_back(const T x) 6,print() 7,_list_iterator 8,operator*() 9,begin() 10,end() 11,operator-() 12,operator++() 13,operator++(int) 14,operator--() 15,operator--(int) 16,operator==(const sefl s) 17,operator!=(const sefl s) 18,_list_const_iterator

    2024年02月02日
    浏览(24)
  • List迭代器是如何实现的

    我们知道当我们使用vector的迭代器时,它的++操作可以让它指向下一个位置,解引用操作就可以找到这个位置的值,因为vector底层时用的一个顺序表,可以支持随机访问。对比list来说vector底层的迭代器是十分的简便可观的。虽然我们使用list的迭代器外观上和vector是大同小异的,但

    2024年02月16日
    浏览(27)
  • 【C++进阶(四)】STL大法--list深度剖析&list迭代器问题探讨

    💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C++从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C++   🔝🔝 本质重点: 本章重点讲解list的接口函数的熟悉 并且讲解list迭代器失效的特性 最后讲解迭代器的功能分类以及 算法库函数中谁能用谁不能

    2024年02月09日
    浏览(33)
  • 【C++STL】list的反向迭代器

    list的反向迭代器 reverse.h list.h test.cpp 疑问1:为什么在迭代器当中不需要写深拷贝、析构函数 1、因为迭代器就是希望做到浅拷贝,就是需要拿到地址而不是值,因为迭代器的修改是会影响对象中的内容的 2、因为迭代器并没有申请额外的空间,所以不需要析构,如果写了析构

    2024年02月12日
    浏览(29)
  • list.stream().forEach()和list.forEach()的区别

    list.stream().forEach() 和 list.forEach() 在 Java 中都是用于遍历集合元素的方法,但它们在使用场景和功能上有所不同: list.forEach() : 是从 Java 8 开始引入到 java.util.List 接口的标准方法。 直接对列表进行迭代,它采用内部迭代的方式,不需要显式创建迭代器。 使用 Lambda 表达式或方

    2024年02月22日
    浏览(27)
  • list【2】模拟实现(含迭代器实现超详解哦)

    在前面,我们介绍了list的使用: 戳我看list的介绍与使用详解哦 在本篇文章中将重点介绍list的接口实现,通过模拟实现可以更深入的理解与使用list 我们模拟实现的 list 底层是一个带头双向循环链表 在实现list时,我们首先需要一个 结构体以表示链表中结点的结构 list_node ,

    2024年02月10日
    浏览(23)
  • Springboot 错用list.stream , 遭遇list浅拷贝偷袭,实战图解

    相信很多看客都听闻过深拷贝、浅拷贝  , 但是在日常使用的过程中,是否真的有关心过或者遭遇过呢? 不啰嗦,一起来看看。 接下来我通过示例,来复现一下 list.stream浅拷贝 这个事 : 首先是一个对象 Product :   然后是模拟获取到的这个Product的一个list集合数据:   接下

    2024年02月12日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包