【问题标题】:what is a stream? And std things and their usage.什么是流?和标准的东西和它们的用法。
【发布时间】:2012-06-09 07:15:54
【问题描述】:

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

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

【问题讨论】:

标签: c++ c


【解决方案1】:

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

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

我认为sourcesink 这两个词更有用。您可以将stderr 视为字符的接收器。从程序的角度来看,毕竟只是消耗字符的东西,没有任何明显的效果。

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

【讨论】:

  • 我试图解释 stream 的含义,在我的回答 here 中,以解释为什么 copying 的流不在 C++ 中有意义。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    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 会指导你

    【讨论】:

    • @Downvoter 你能告诉我这个答案有什么问题吗?
    猜你喜欢
    • 2013-10-10
    • 2023-04-05
    • 2017-04-04
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 2010-12-22
    • 2021-03-25
    相关资源
    最近更新 更多