c++ - ostream 中的困难

标签 c++ ostream

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/

相关文章:

c++ - 派生类的返回类型 ostream

c++ - 获取 streambuf/stringbuf 数据的所有权

c++ - C++ atexit() 函数发生奇怪的崩溃

c++ - 为什么 std::setbase(2) 不切换到二进制输出?

c++ - 我们可以使用C和C++从TXT文件中读取数据并将其保存到SQL数据库吗?

c++ - 使用 strtok 拆分字符串(嵌套)

c++ - 将 xvalues 转换为 lvalues 以传递给函数是否定义明确?

c++ - 将编译器开关添加到 Eclipse CDT 内置编译器设置生成?

c++ - 指针说明

c++ - 为序列重载 ostream << 运算符