在C++中,进行运算符重载时,为什么好多函数都要用到返回的是一个引用类型呢?
4个回答
2012-12-15
展开全部
要看它重载的运算符操作完之后需要一个什么结果,如果你是重载赋值运算符或者<<运算符,你最好返回一个引用,因为这样就能做出形如cout<< " " << " "这样的“拼接”。
如果是加法或者减法就没必要返回引用了,因为这些运算符一般不允许改变传入的参数或者调用它的对象,所以不能返回一个引用。
如果是加法或者减法就没必要返回引用了,因为这些运算符一般不允许改变传入的参数或者调用它的对象,所以不能返回一个引用。
展开全部
最常用的重载都是重载<< 或者 >> 运算符,从而需要istream 或者 ostream
但是,这两个是没有拷贝构造函数的(应该说是私有拷贝构造函数),所以它们
只能返回一个引用。当然,其他有拷贝构造函数的也可以不用引用,不过那样
需要拷贝来拷贝去,性能大打折扣,所以大多都是传递引用,直接对源对象进行
更改,当然,只读的可以加上const 引用。
但是,这两个是没有拷贝构造函数的(应该说是私有拷贝构造函数),所以它们
只能返回一个引用。当然,其他有拷贝构造函数的也可以不用引用,不过那样
需要拷贝来拷贝去,性能大打折扣,所以大多都是传递引用,直接对源对象进行
更改,当然,只读的可以加上const 引用。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用相当于别名,也就是小名。也就是说还是他本身。
而指针只是地址。
指针可以指向空(NULL),而引用一定不能空。
我感觉,引用更安全些。
而指针只是地址。
指针可以指向空(NULL),而引用一定不能空。
我感觉,引用更安全些。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
省时,省力,又省心
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询