C++ 中 cin 和 cout 有什么区别?

发布于 2025-01-09 08:04:29 字数 1708 浏览 1 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

腻橙味 2025-01-16 08:04:29

C++ 程序的运行假设是该程序具有一个输入源(可通过 cin 访问)和两个输出流,一个用于常规输出(可通过 cout 访问),另一个用于报告错误(可通过cerr访问)。

(还有clog,它类似于cout,但它不缓冲其输出。我几乎从未见过它在实践中使用过)。

因为 cin 仅用于输入,因此您可以使用它来读取值,但不能用于写入值。同样,您可以写入 coutcerr,但无法读取它们。

我猜测(?)C++ 没有将所有这些组合成一个源(假设的“调用”),因为具有两个不同的输出流和一个输入流的不对称性。尽管原则上这是可以做到的。

C++ programs operate under the assumption that the program has one input source (accessible via cin) and two output streams, one for regular output (accessible via cout) and one for reporting errors (accessible via cerr).

(There's also clog, which is like cout but which doesn't buffer its output. I've almost never seen it used in practice).

Because cin is just for input, you can use it to read values but not for writing values. Similarly, you can write to cout and cerr, but you can't read from them.

I'm guessing (?) that C++ didn't combine all of these into a single source (a hypothetical "call") because of the asymmetry of having two different output streams and one input stream. Though in principle it would have been possible to do this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文