c++ - 输出流运算符的重载

标签 c++ visual-c++

为什么输出流运算符的重载适用于这个原型(prototype):

ostream &operator<<(ostream &flux, Complexe const & z);

不适合这个

ostream operator<<(ostream &flux, Complexe const & z);

最佳答案

您可以声明一个 operator<<返回 ostream按值(value),但您可能无法定义它! ostream有一个删除的复制构造函数和一个 protected 移动构造函数。

关于c++ - 输出流运算符的重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29757226/

相关文章:

c++ - 如何将二叉树附加到另一个

c++ - 我怎样才能看到我的程序占用了多少内存?

c++ - 为什么异常时不调用析构函数?

c++ - 当通过名称引用时,名称存储在哪里?

c++ - 这些函数进行了哪些系统调用?

c++ - 试图计算一个字符串

c++ - 从子类 : gcc vs msvc 访问 protected 成员

c++ - 逗号作为变量初始化中的分隔符(不是作为运算符)

c++ - C++ 中的 libxml2,为解析器设置编码 - "Input is not proper UTF-8"

c++ - MFC 功能区面板名称问题