ostream& operator<<(ostream& os, const PT& p)
{
os << "(" << p.x << "," << p.y << ")";
}
PT
是一个结构,x
, y
是它的成员。
有人可以解释一下上面那行到底是做什么的吗?无法使用cout
打印所需的文本吗?
我从 this site 中看到这段代码.
最佳答案
这是一个custom overload对于 operator<<
.
这意味着你可以这样做:
PT p = ...;
std::cout << p << "\n";
或者这个:
PT p = ...;
std::stringstream ss;
ss << p << "\n";
std::cout << ss;
或许多其他有用的东西。
但是请注意,您引用的代码无法正常运行。它需要返回 os
.
关于c++ - ostream 中的困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11064663/