【问题标题】:Display inputs to std::ostream显示 std::ostream 的输入
【发布时间】:2017-03-28 22:29:46
【问题描述】:

免责声明:我是一个完整的C++初学者,如果对这个问题有类似的答案,请指导我,因为我可能错过了它,不太了解理论。

假设我有一个方法接受对 ostream 的引用:

printAllObjects(std::ostream& os);

我假设它对ostream 进行了更改,因此可以将所有对象的列表打印到一个文件中,比如说。 (我这里可能错了)

有什么方法可以查看它写入ostream 的内容吗? (最好通过cout)?

【问题讨论】:

  • 您是否控制printAllObjects,或者它是您无法控制的库的一部分?
  • 不,不幸的是,它是我们提供的库的一部分

标签: c++ std ostream


【解决方案1】:

std::cout std::ostream,所以只需将std::cout 传递给函数,您就会看到它的作用:

printAllObjects(std::cout);

这种灵活性正是接受对std::ostream的引用的目的!

其他流类型1继承自std::ostream基础包括:

  • std::ofstream(用于文件输出)
  • std::ostringstream(用于字符串输出)。

1 这并不是说std::cout 是一个类型;它不是。这是std::ostream 的一个特殊的全局实例。

【讨论】:

  • std::cout 不是我认为的对象吗?好吧,这似乎无论如何都可以编译,但是一个新问题使我无法对其进行测试。如果成功,我会回复您,但与此同时:谢谢(暂时)
  • @qasimir:它是一个对象。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 2015-09-04
  • 1970-01-01
  • 2021-02-13
相关资源
最近更新 更多