1

我经常看到人们使用术语流,但我从来不明白它的确切含义。标准是什么意思?只是意味着从终端输入和输出到终端?标准错误怎么样?我们什么时候需要使用它,它有什么作用?

其次,我们可以创建自己的流吗?为什么我们需要创建它?

4

3 回答 3

2

类型论中,流只是一个无限的数据列表。

但是,在C 或 C++中,它通常被认为是无限源或无限汇。当然,在大多数情况下,无限实际上是一个谎言,但它是一个有用的抽象,因为它强调了大小是未知的。

我认为条款sourcesink更有用。你可以想stderr一个角色的水槽。从程序的角度来看,它毕竟只是消耗字符而没有任何明显效果的东西。

您当然可以创建流(源或接收器或同时创建两者)。

于 2012-06-05T09:12:15.383 回答
1

我经常看到人们使用流这个词,但我从来不明白它的确切含义

C++ 提供以下类来执行文件的字符输出和输入:

ofstream: Stream class to write on files
ifstream: Stream class to read from files
fstream : Stream class to both read and write from/to files.

我总是将流视为我们可以对文件执行操作的文件句柄。

标准是什么意思?

在 C++ 中,C++ 标准库是类和函数的集合。

C++ 标准库为诸如求数的平方根之类的任务提供了几个日常函数。

C++ 标准库的特性在 std.int 命名空间中声明。

标准错误怎么样?

标准错误流是错误消息和其他诊断警告的默认目的地。与标准输出一样,它通常也被定向到标准控制台的输出设备。

也可以使用 freopen 函数将 stderr 从程序中重定向到其他目的地。

其次,我们可以创建自己的流吗?为什么我们需要创建它?

将指导您

于 2012-06-05T09:09:29.503 回答
1

流是派生自std::ios_base的类。与随机访问相比,它们一个接一个地呈现元素。您可以通过调用适当的构造函数来创建一个。如果您想实现自己的流,请从 ios_base 派生并相应地实现所有方法。

于 2012-06-05T09:09:30.670 回答