什么是流?并且std事物和他们的用法。

时间:2012-06-05 09:05:30

标签: c++ c

我经常看到人们使用术语流,但我从来没有完全明白这意味着什么。标准是什么意思?只是意味着从终端和输出到终端的输入? stderr怎么样?我们什么时候需要使用它以及它有什么效果?

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

3 个答案:

答案 0 :(得分:2)

type theory中,流只是一个无限的数据列表。

然而,在C or C++中,它通常被认为是无限源或无限接收器。当然,无限大多数时候实际上是一个谎言,但它是一个有用的抽象,因为它强调大小是未知的。

我认为术语sourcesink更有用。您可以将stderr视为角色的接收器。从程序的角度来看,它毕竟是消耗角色而没有任何明显效果的东西。

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

答案 1 :(得分: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.

我总是认为stream就像文件句柄一样,我们可以对文件执行操作。

标准是什么意思?

  

在C ++中,C ++标准库是类和的集合   功能

     

C ++标准库为任务提供了几种日常功能   例如找到数字的平方根。

     

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

stderr怎么样?

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

还可以使用freopen函数将stderr重定向到程序中的某个其他目标。

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

This会指导你

答案 2 :(得分:1)

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