>>和+运算符都是二元运算符。它们在语法上的差异是什么意思?
为什么>>会有返回类型(引用返回)?我知道这很愚蠢,但我真的搞不懂他们的语法,我想要一个简短的解释。
Sparse operator +(Sparse &s); //code for plus operator
friend istream & operator >>(istream &is,Sparse &s); //code for insertion operator发布于 2021-05-14 01:19:16
operator+组合两个输入对象的数据(在您的示例中,左边的对象是*this),并返回一个包含组合数据的新对象。
operator>> (和operator<<)返回对正在操作的流的引用。这允许链接多个流操作,例如:
cin >> var1 >> var2 ...;
// which is the same as:
// cin.operator>>(var1).operator>>(var2) ...
// or:
// operator>>(operator>>(cin, var1), var2) ...
// etc, depending on the particular types and operator overloads being used
cout << var1 << var2 ...;
// which is the same as:
// cout.operator<<(var1).operator<<(var2) ...
// or:
// operator<<(operator<<(cout, var1), var2) ...
// etc, depending on the particular types and operator overloads being used如果不能链接,流操作将不得不单独调用,例如:
cin >> var1;
cin >> var2;
...
cout << var1;
cout << var2;
...https://stackoverflow.com/questions/67523416
复制相似问题