您好,我目前正在从初学者的书中学习c ++。在本书中,作者简要解释了头文件istream
和ostream
。不幸的是,我不太明白他的意思。我试图在网上查找它们,但它无法帮助我理解他的解释。
他说
istream
:包含用于从流输入数据的提取器,并包含模板类basic_istream
。换句话说,istream
将I放入I / O.
ostream
:包含用于输出一系列字节的插入器,并包含模板basic_istream
。基本上ostream
将O放入I / O.
我不明白为什么你需要提取器来输入来自流的数据,反之亦然ostream
。
答案 0 :(得分:3)
作为程序输入的数据必须从提供它的istream
提取。
同样地,作为程序输出的数据必须插入到ostream
中才能消失。
+------------------+ +-----------------------------------------+
| DATA SOURCE | ----input----> | [istream] --extractor--> YOUR PROGRAM |
+------------------+ +-----------------------------------------+
+------------------+ +-----------------------------------------+
| DATA SINK | <---output---- | [ostream] <--inserter--- YOUR PROGRAM |
+------------------+ +-----------------------------------------+
答案 1 :(得分:0)
我不明白为什么你需要提取器来输入来自流的数据,反之亦然
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中提取的意思