【发布时间】:2012-06-09 07:15:54
【问题描述】:
我经常看到人们使用流这个词,但我从来不明白它的确切含义。标准是什么意思?只是意味着从终端输入和输出到终端?标准错误怎么样?我们什么时候需要使用它,它有什么作用?
其次,我们可以创建自己的流吗?为什么我们需要创建它?
【问题讨论】:
我经常看到人们使用流这个词,但我从来不明白它的确切含义。标准是什么意思?只是意味着从终端输入和输出到终端?标准错误怎么样?我们什么时候需要使用它,它有什么作用?
其次,我们可以创建自己的流吗?为什么我们需要创建它?
【问题讨论】:
在type theory 中,流只是一个无限的数据列表。
然而,在C or C++ 中,它通常被认为是无限源或无限汇。当然,在大多数情况下,无限实际上是一个谎言,但它是一个有用的抽象,因为它强调了大小是未知的。
我认为source 和sink 这两个词更有用。您可以将stderr 视为字符的接收器。从程序的角度来看,毕竟只是消耗字符的东西,没有任何明显的效果。
您当然可以创建流(源或接收器或同时创建两者)。
【讨论】:
流是派生自std::ios_base 的类。与随机访问相比,它们一个接一个地呈现元素。您可以通过调用适当的构造函数来创建一个。如果您想实现自己的流,请从 ios_base 派生并相应地实现所有方法。
【讨论】:
我经常看到人们使用流这个词,但我从来不明白它的确切含义
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 中声明 命名空间。
stderr 怎么样?
标准错误流是错误消息和其他诊断警告的默认目的地。和 stdout 一样,它通常也被定向到标准控制台的输出设备。
还可以使用 freopen 函数将 stderr 从程序中重定向到其他目的地。
其次,我们可以创建自己的流吗?为什么我们需要创建它?
This 会指导你
【讨论】: