首页 > 编程知识 正文

c语言iostream头文件的作用,iostream中预定义四个流对象

时间:2023-05-04 19:40:43 阅读:157164 作者:1794

1、基类模板

iostream(.h )库的基础是类模板的分层结构。 类模板以与类型无关的方式提供了此库的大多数功能。

基类模板是类模板的集合,每个类模板有两个参数。 charT参数确定要处理的元素类型,而属性参数为每个特定的元素类型提供其他特性。 与字符类型的实例相比,此类层次中的类模板在其名称前添加了basic_前缀。 例如,从istream实例化的类模板名称为basic_istream,从fstream实例化的类模板名称为basic_fstream。 唯一的例外是ios_base,它本身与类型无关,因此不是基于类模板的,而是正规类。

2、班级模板示例

iostream(h )库集成了iostream类模板的整个层次结构的两个标准实例。 一种是面向单字节的,用于处理char类型的元素。 另一组面向宽字节,处理wchar_t类型的元素。 单字节(char类型)的实例可能是iostream ).h )库更熟悉的部分。 ios、istream、ofstream等类都是针对单字节的。 右图为单字节的所有类的名称和关系。 宽字节(wchar_t类型)实例的命名约定与单字节实例相同,但所有类和对象名称(如wios、wistream和wofstream )前面都有前缀w。

图1、面向单字节的类和名称的关系

3、包含的头文件

iostream库fstreamiomainipiosiosfwdiostreamistreamstreamstreambufstream

4、流对象

iostream库定义了三个标准流对象:

cin )表示标准输入(标准输入)的istream类对象。 使用cin可以从设备中读取数据。

cout )表示标准输出的ostream类对象。 使用cout可以向设备输出数据和向设备写入数据。

cerr:表示标准错误的osttream类对象。 cerr是导出程序错误消息的地方。

5、实现原理:

以输出为例,说明其实现原理吧。

cout是ostream类的对象,它指向标准设备(显示屏幕),因此在iostream头文件中被定义为全局对象。

流计数(stdout ); //c中默认指示的标准装置名称用作构造器的自变量。

在iostream.h头文件中,每个基本数据类型的ostream类都有一个参数函数,用于重载左移运算符的参数函数。

流操作器(ostream temp,int source );

Ostreamoperator(Ostreamtemp,char *ps );

语句的输出语句: cout'www.cndev-lab.com ',实际调用的是ostreamoperator(ostreamtemp,char *ps ); 此运算符重载函数返回流对象的引用,并允许程序使用cout'www.cndev-lab.com ' '中国软件开发实验室';因为该引用可以用作左值; 当出现这类短语时,可以构成连续输出。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。