了解cout.operator <<()的行为

5 c++ iostream cout operator-overloading

根据这个问题的最佳答案,cout << expr相当于cout.operator<<(expr).

根据对这个问题的答复,上述说法是不真实的.

根据我自己的测试,cout.operator<<()cout <<给定整数时相同.给定一个浮点数时,将其cout.operator<<()强制转换为整数.当给出一个字符串文字时cout.operator<<("hello world"),它会输出看起来像是内存地址的内容.当给定一个包含std :: string的变量时,它会产生编译错误.

任何人都可以对正在发生的事情进行初级到中级的解释吗?

Lig*_*ica 5

这取决于expr.

这两个问题的答案都是针对具体案例而非全面保证.

实际上,有些operator<<自由 函数,有些是成员函数.

请参阅您最喜欢的C++参考,找出哪些.