ostream(C++里面ostream是干什么的)

本文目录
- C++里面ostream是干什么的
- 为什么c++ 重载输出运算符的时候要取地址 ostream &operator<<
- C++ ostream <<运算符重载 编译不通过
- c++中运算符(\“ << \“)重载ostream&是什么意思
- c++重载输入输出符返回类型istream和ostream为什么要加上&符号
C++里面ostream是干什么的
ostream是output stream的简称,即输出流。
在C++中用来输出。
一个典型的输出流对象就是在C++中标准输出流cout。
在C++中,很少自定义ostream的对象,更多的是直接使用cout。
ostream这个类型,往往出现在《《操作重载中,作为某个类的友元函数出现。
比如对于class A, 可以定义
ostream & operator 《《 (ostream &os, const A& a);
这样在调用A的对象var时,
cout 《《 var ;
就等同于调用这个函数了。
函数里面一般会输出A中的一些成员变量。
为什么c++ 重载输出运算符的时候要取地址 ostream &operator<<
&不表示取地址,而表示引用。由于ostream对象不可复制,因此无论是作为参数传入,还是作为返回值传出,都必须使用引用形式。即ostream& operator《《(ostream&, MyClass)的定义方式是正确的,而ostream operator《《(ostream, MyClass)的定义方式是错误的。
C++ ostream <<运算符重载 编译不通过
外面operator的定义把fuck::去掉,因为它是fuck类的友元函数而不是成员函数。友元函数是公有函数。
iostream& operator《《(iostream & out,const fuck & f)
{
out《《f.x;
return out;
}
c++中运算符(\“ << \“)重载ostream&是什么意思
如果没猜错,ostream是个类
ostream&的意思是返回值是类的一个引用,就是直接对返回的类的对象进行操作(共享一个地址,加这个就是可以对形参进行修改
后面的ostream &os就是传递一个类的对象的地址
c++重载输入输出符返回类型istream和ostream为什么要加上&符号
这样返回的就是一个引用,也就是对象本身。如果返回值,那么返回时会调用复制构造函数,产生临时对象,然后销毁,这样就增加了系统开销。
还有如果有连续操作,比如常见的cout《《a《《b《《c; 如果重载《《时返回的是值,那么cout《《a就是个右值,是个临时值,《《结束后就没了,后面的《《b就有问题了,如果返回的是个引用,那么它就是对象本身,是个左值,cout《《a《《b;就可行了

本文相关文章:
streamreader读取文件(关于streamreader和streamwrite只能用于txt文件吗)
2026年10月6日 10:00
postscript教程(postscript用法!急求!)
2026年9月6日 06:10
microsoft sql(Microsoft SQL Server是什么软件)
2026年9月4日 13:10
Host是什么意思?如何使用route命令查看 Linux内核路由表
2026年8月26日 13:20
更多文章:
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00





