C++里为什么运算符重载时参数要传引用?
展开全部
引用传递是C++特有的参数传递方式。这种传递方式会带来许多优点,当然也稍不留神,也会带来问题。
重载=、+、-、*、/、+=、-=、*=、/=时,通常形参采用引用传递,由于类对象占用内存较大,引用传递时,无需在栈内存中开辟空间以装载临时对象,也省去了复制的耗时过程,为了避免改变形参的内容,还需配以const加以修饰。
例如:
classname &operator+(const classname &classobject);
形参的引用传递不是必须的,但返回引用则是必须的。
重载=、+、-、*、/、+=、-=、*=、/=时,通常形参采用引用传递,由于类对象占用内存较大,引用传递时,无需在栈内存中开辟空间以装载临时对象,也省去了复制的耗时过程,为了避免改变形参的内容,还需配以const加以修饰。
例如:
classname &operator+(const classname &classobject);
形参的引用传递不是必须的,但返回引用则是必须的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询