c++初学者,求求救救孩子吧

[复制链接]
查看11 | 回复2 | 2021-1-27 07:17:20 | 显示全部楼层 |阅读模式
运算符重载中&,到底是干啥用的,例如voidoperator[](student&)中的用法。第二,同样的对于+进行重载,为什么有两种不同的定义方法?两个有什么不同吗?



分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:17:20 | 显示全部楼层
&:引用传递
用了&,你传参时不创建新变量,直接对传进来的实参进行操作
不用&,传参时创建一个实参的拷贝,函数中对这个拷贝进行操作,而不会影响实参。
写函数时应该明确是否要使用引用传递
如果需要改变实参,那么请使用&
如果不要改变实参,也不改动形参,那么请用const&(const防止自己修改)
如果不要改变实参,但要改变形参,那么用常规的值传递。
回复

使用道具 举报

千问 | 2021-1-27 07:17:20 | 显示全部楼层
引用1楼Italink的回复:&:引用传递
用了&,你传参时不创建新变量,直接对传进来的实参进行操作
不用&,传参时创建一个实参的拷贝,函数中对这个拷贝进行操作,而不会影响实参。
写函数时应该明确是否要使用引用传递
如果需要改变实参,那么请使用&
如果不要改变实参,也不改动形参,那么请用const&(const防止自己修改)
如果不要改变实参,但要改变形参,那么用常规的值传递。
好的,懂了,谢谢大神!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行