为什么C ++ cout使用<<操作员而不是打印功能?

时间:2018-01-10 18:53:51

标签: c++ std cout language-design

几年前我第一次看到C ++时,我觉得用cout<<打印到屏幕上的方式很奇怪。据我所知,C ++是唯一一种使用操作符打印到屏幕上的语言,所以它绝对是不寻常的。

运营商并非完全不一致,因为还有其他流接受&lt;&lt;具有类似语义的运算符,加上通常可以反转&#34;运营商到&gt;&gt;对于cin和类似的。对于我来说(并且有点迟钝),操作员最初用于移位的位置看起来很奇怪。

一些语言的运算符有副作用。有些语言使用!作为二元运算符来传递消息,这些消息可能有也可能没有副作用,具体取决于传递的消息。

但问题是:C ++可以使用函数来实现相同的目的,并且根据你的要求,在大多数情况下会更加清晰。

使用运算符而不是函数有什么好处?

我可以看到类型安全的可能原因。至少对于特定问题,它是对printf的改进。它比一堆超重的非格式化打印功能调用要简单得多。但这是一个非常脆弱的用例。如果您之前从未见过C ++,并且知道couts打印到屏幕上,那么您无法准确查看C ++源文件。

0 个答案:

没有答案