c++重载输入输出符返回类型istream和ostream为什么要加上&符号?_百度...

发布网友 发布时间:4小时前

我来回答

1个回答

热心网友 时间:9分钟前

这样返回的就是一个引用,也就是对象本身。如果返回值,那么返回时会调用复制构造函数,产生临时对象,然后销毁,这样就增加了系统开销。
还有如果有连续操作,比如常见的cout<<a<<b<<c; 如果重载<<时返回的是值,那么cout<<a就是个右值,是个临时值,<<结束后就没了,后面的<<b就有问题了,如果返回的是个引用,那么它就是对象本身,是个左值,cout<<a<<b;就可行了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com