例如:
TYPE
为什么我们使用"<<"和">>"运营商在这?他们在做什么?我有点理解变换,但我不知道这是如何工作的。
答案 0 :(得分:9)
它们被称为流插入运算符(<<
)和流提取运算符(>>
)。
这些运算符与左右位移运算符相同(即使它们具有不同的名称)。位移运算符过载,因此当左侧是流时,它们会读取或写入该流。
他们就像任何函数调用一样 - 它的工作方式如下:
leftShift(leftShift(leftShift(leftShift(cout, "You are "), age), " years old!"), endl);
除了该函数被称为operator<<
而不是leftShift
严格地说,没有理由称为leftShift
的函数必须进行左移,同样没有理由称为operator<<
的函数必须进行左移。
答案 1 :(得分:1)
它是运算符重载。对于流类,bitshift运算符被重载以用于不同的目的(读取和写入流)。请参阅:http://www.cplusplus.com/reference/ostream/ostream/operator%3C%3C/
答案 2 :(得分:1)
>>
和<<
已作为流功能重载,例如:
std::ostream & operator << (std::ostream &, int)
(和其他人)
以便(在这种情况下)当cout&lt;&lt;使用10,它调用将打印值的重载函数。
它与位移无关,只是它使用相同的运算符&#39;&lt;&lt;&lt;&quot;&#和&#39;&gt;&gt;&#39;。