C++ <istream> 和<ostream>

C++ <istream> and <ostream>

本文关键字:gt lt ostream istream C++      更新时间:2023-10-16

嗨,我目前正在从一本初学者的书中学习c++。在书中,作者对istreamostream这两个头文件作了简要的解释。不幸的是,我不太明白他的意思。我试着在网上查了一下,但这对我理解他的解释没有帮助。

他说

istream:包含用于从流中输入数据的提取器,并包括模板类basic_istream。换句话说,istream将I放入I/O。

ostream:包含用于输出一系列字节的插入器,并包含模板basic_istream。基本上CCD_ 8将O放入I/O。

我不明白的是,为什么你需要提取器来输入流中的数据,而ostream则需要提取器。

作为程序输入的数据必须从提供数据的istream中提取

同样,作为程序输出的数据必须插入ostream中,以使其消失。

+------------------+                  +-----------------------------------------+
| DATA SOURCE      |  ----input---->  | [istream] --extractor-->  YOUR PROGRAM  |
+------------------+                  +-----------------------------------------+
+------------------+                  +-----------------------------------------+
| DATA SINK        |  <---output----  | [ostream] <--inserter---  YOUR PROGRAM  |
+------------------+                  +-----------------------------------------+

我不明白的是,为什么您需要提取器来输入流中的数据,而ostream则需要提取器。

假设您有istream_obj作为输入数据流。现在你写:

int x;
istream_obj>>x;

在这里,istream将尝试从istream_obj中提取一个int,重载如下:

void operator >> (istream _stream, int x); // may not be exactly this but similar thing will be done.

这就是从istream中提取的含义