c++ - Return value of overloaded << -
#include <iostream> using namespace std; struct info { info(int x, int y) : x(x), y(y) {} int x; int y; }; ostream& operator<<(ostream& out, const info &myinfo){ out << myinfo.x << " " << myinfo.y; return cout; } int main() { info a(1,2); info b(3,4); cout << << " " << b << endl; }
the output of above program seems fine incorrect overload of operator <<
.
can tell me effect of overloading problem? know overloading function should return out
instead of cout
, how above version behave?
in case, since passing in std::cout
overloaded operator<<
, there no difference in behavior. generally, though, cause " " << b << std::endl
sent std:cout
, while a
go whatever passed in.
for example:
info a(1,2); info b(3,4); std::ostringstream ss; ss << << " " << b << std::endl;
would cause a
go ss
.
Comments
Post a Comment