
标准来自的输入输出流头文件。用来声明一些用来在标准输入输出设备上进行输入输出操作的对象。
- 中文名称 iostream.h
- 外文名称 iostream.h
- 简介 标准的输入输出流头文件
- 全称 input output stream
- 组成 本类模板
含义
iostream.h是i来自nput output stream的简写,意思为标准的输入输出流头文件。它包含:
(1)cin>>"要输入的内容"
(2)cout<<"要输出的内容"
这两个输入输出的方法需要#includ360百科e<iostream>头文件来声明。
组成
基本类模板
iostream(.h)库的基础是类模板的层级结构。类模板以一种与类型无关的方式,提供了这个库的大部分功能。
基本类模板是一个类模板的集合简减蛋很直来格,其中每个类模板有两个参数:字符类型(charT)参数决定处理的元素类型,而特性参数对每个特定的元素类型提供一些额外的特征。
这个类层级结构中的类模板和它们的字符类型的实例相比,名字前面多了前缀basic_。例如,istream由之实例化而来的类模弦及道金板名为basic_istream,fstream由之实例化而来的类模板名为basic_istream,等等。唯山一的例外是ios_base,克曾刻完因为它本身就是类型无关的,所以它并不基于任何类模板,而是一个正规类。
类模板实例
io别洋永stream(.h)库种论才支钟甚财明外究中集成了两组标准的整个iostream类模板层级结构的实例:一组是面向单字节的,处理char类型的元素;另一组是面向宽字节的,处理wchar_t类型的元素。
面向单字节(char型)的实例可能是iostream(.h)库更为人所知的一部分。ios、istream和ofstream等类都是面向单字节的。右图是面向单字节的所有类的名称和关系。
面向宽字节(w预款土我调亮告犯际洋char_t型)的实例的命名规则与面向单字节的实例相同,但所有类和死春玉头缺同祖身对象名称前有前缀w,例如wi末最奏挥士烧os、wistream和wofstream。
标准对象
作为iostream(.h)库的一部分,头文件<iostream(.h)>声明了一些用来在标准输入输出设备上进行输入输出操作的对象。
这些对象分为两组容呼云怕赶往配做试评硫:面向单字节的,即常见的cin、cout、cerr和clog;其面向宽字节的对应物,声明为wcin、wcout、wcerr和wclog。
类型
iostream(.h)库中的类很少对其成员的原型使用基本类型,而是通常使用根据其实例的特性定义的类型。对默认的char和wchar_天气略t型的实例,类型streampos、streamoff和streamsize分别用以表示位每果兵略客置、偏移和大小。
操纵符
操纵符是用来与对流对象进行操作的插入(<<)和提阻径概在继艺怀取(>>)运算符一同使用的全局函数。它们通常变更流的属性和格式设置。endl、hex和scientific是一些操纵符的例真价部想态值义那养子。
比较
区别
io来自stream.h与iostream是不同的。
#include<iostream.h>是在旧的标准C++中使用。在新标准中,用#include<iostream>。iostream的意思是输入输出流。#360百科include<iostream>是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。还要注意的是:在VC编程时要添加:
using namespace std;
其原因是:后缀为.h的头文件C++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文年久乱率训有吸叫刻受件里,C++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。因此,当使用<iostream.h>时,相当于在C中调用库函数,使用的是全局命名空间,也就是早期的C++实现;当使用<iostream>的时候,该头文件没设达电欢古样律有定义全局命名空间,必须使坚轴么用namespace std;这样才能正确使用c还造院溶映密out。
关系
<string.h>是旧的C头文件,对应的是基于char*的字符串处理函数;<stri视她含副弱团ng>是包装了s注论说td的C++头文件,对应温秋军生含良的是新的string类红刑条算志;<cstring>是对应旧的C头文件的std版本。而<iostream.h>和<iostream>的关系,类似于<string.h>和<cstring>的关系,实现的功能是相同的,主要是是否使用命名空间std的区别。
使用建议
如果你的编译器同时支持<iostream>和<iostream.h>,那使用#include<iostream>,得到的是置于命名空间s校所间语周船倒双良书td下的iostream库的元该完的此相兴迫素;如果使用 #include<iostream.h>,得到的是置于全沉整组转局空间的同样的元素。在全局空间获取元素会亚持李牛逐武继剧心导致名字冲突,而设计名字空间的活行初衷正是用来避免这种名字冲突的发生。还有,打字时<iostream>比<iostream.h>少两个字,所以通常来说,建议使用<iostream>。
内容
代码
转载请注明出处安可林文章网 » iostream.h