lwqsbtl
2018-10-31 12:46
采纳率: 42.9%
浏览 2.2k

C++运算符重载问题,为什么重载+-运算符时operator关键字前不需要加&,重载=时operator前必须加&号啊

另外类作为形参传入函数时, 有些情况可以不采用引用传递,但有的时候必须采用引用传递,否则会出错。
比如重载
ARRAY & operator = (ARRAY &b);

能解释下两个&号分别有什么意义吗,谢谢大佬!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • devmiao 2018-10-31 13:30
    已采纳

    因为不使用&,那么堆栈上临时开辟的新对象会被释放,传回去堆栈破坏就出错了。

    点赞 打赏 评论
  • Italink 2018-10-31 13:19

    第一个&表示返回一个引用,第二个&表示参数的引用传递
    +-在重载的时候也可以用&,

    https://zhidao.baidu.com/question/1829933050880419500.html

    点赞 打赏 评论

相关推荐 更多相似问题