【问题标题】:D: What about streams?D:流呢?
【发布时间】:2011-04-06 05:48:05
【问题描述】:

D 似乎是一门潜力巨大的语言,我对它的未来非常感兴趣。不过我很好奇,有没有关于在 D 中包含流的讨论?过去,C++ 流对我有很大帮助,它们看起来比使用 printf/writefln 之类的函数要干净得多。

【问题讨论】:

  • 您觉得缺少什么功能,究竟是什么?
  • 从控制台、文件等读取(写入)的方式并不是什么大问题。但是,在 C++ 中,我发现将流作为函数参数(std::ostream&std::istream&)传递很有用,更不用说在我的自定义类中重载 <<>> 运算符,这有时可能非常很有用,尤其是在编写抽象数学概念的课程时,例如分数或复数。基本上,流更加通用,允许更通用的编程。
  • 我同意。与旧的 printf 样式相比,使用流更加 WYSIWYG。它实际上是 int i = Add(4,3) 和 int i = 4+3 之间的区别。相同的功能,但几乎不一样。

标签: stream d


【解决方案1】:

目前正在讨论弃用当前的 std.stream 设计并重写它。 Andrei Alexandrescu posted the interfaces for a proposed new design 不久前基于 D2 的范围。不幸的是,社区缺乏人力,并试图让一大堆其他库支持工作,如网络、并行、数据库 API、容器等。流已提上日程,但不在最前面。

【讨论】:

    【解决方案2】:

    目前的流媒体接口在http://www.digitalmars.com/d/2.0/phobos/std_stream.html

    但我认为它会在某个时候被重构。

    【讨论】:

      【解决方案3】:

      D 有一个标准的方式来传递文件、开放的网络连接和标准输出。 (参见其他答案)它还有一种将结构/对象转换为字符串的标准方法(toString,除非它已被更改)。就个人而言,这让你获得了我喜欢的 C++ 流的所有部分。我反对添加运算符重载的东西,因为它使数据和格式的分离几乎不可能。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-27
        • 2019-12-02
        • 1970-01-01
        • 2010-10-24
        • 2018-07-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多