C++ primer(第八章)学习笔记

第七章 C++标准库1.C++语言不直接处理输入和输出,而是通过一族定义在标准库的类型来处理IO这些类型从支持从设备读取数据、向设备写入数据的IO操作,设备可以是文件、控制台窗口等、还有一些类型允许内存IO,即,从string读取数据,向string写入数据。2.IO库istream(输入流)类型,提供输入操作ostream(输出流)类型,提供输出操作cin,一个istream对象,从标准输入读取数据cout,一个ostream对象,向标准输出写入数据cerr,一个ostream对象,通常用
摘要由CSDN通过智能技术生成

第七章 C++标准库
1.C++语言不直接处理输入和输出,而是通过一族定义在标准库的类型来处理IO这些类型从支持从设备读取数据、向设备写入数据的IO操作,设备可以是文件、控制台窗口等、还有一些类型允许内存IO,即,从string读取数据,向string写入数据。
2.IO库

  • istream(输入流)类型,提供输入操作
  • ostream(输出流)类型,提供输出操作
  • cin,一个istream对象,从标准输入读取数据
  • cout,一个ostream对象,向标准输出写入数据
  • cerr,一个ostream对象,通常用于输出程序的错误消息,写入到标准错误
  • 运算符,用来从一个istream对象读取输入数据

  • <<运算符,用来向一个ostream对象写入输出数据
  • getline函数,从一个给定的istream读取一行数据,存入一个给定的string对象中
    3.三种独立的头文件:iostream定义了用于读写流的基本类型,fstream定义了读写命名文件的类型,sstream定义了读写内存string对象的类型。
    4.IO类型间的关系。标准库使我们能忽略不同类型的流之间的差异,这是通过继承机制(inheritance)实现的。利用模板,我们可以使用具有继承关系的类,而不必了解继承机制如何工作的细节。
    继承机制使我们可以声明一个特定的类继承自另一个类。我们通常可以将一个派生类(继承类)对象当做其基类对象来使用。
    5.IO对象无拷贝或赋值
ofstream out1,out2;
out1 = out2;    //错误:不能对流对象赋值
ofstream print(ofstream);    //错误:不能初始化ofstream
out2 = print(out2);       //错误:不能拷贝流对象

不能拷贝IO对象,因此我们也不能将形参或返回类型设置为流类型。进行IO操作的函数通常以引用方式传递和返回流。读写一个IO对象会改变其状态,因此传递和返回的引用不能是const的。

strm::iostate    //strm是一种IO类型,iostate是一种机器相关的类型,提供了表达条件状态的完整功能。
strm::badbit     //指出流已崩溃
strm::failbit    //指出IO操作失败了
strm
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值