首页 > 编程知识 正文

C 值传递和引用传递的区别,值传递和引用传递有什么区别

时间:2023-05-05 11:32:27 阅读:264075 作者:4218

c++中参数传递的区别:

1.值传递: 可以想象改变的只是实参的“替身”的值,而实参本身不会被改变。

值传递:将实参的值传递给形参;形参是实参的“替身”,但与实参本质上不是“同一个人”,只是值复制过来一样而已。因此,形参有自己独立的存储空间。

当swap函数被调用时,为形参x,y分配存储空间,并且复制a,b的值过来,函数执行完毕之后,X,Y的值被调换,之后释放x,y的存储空间,并不会对a,b有任何影响。

2.引用传递 可以想象成是“同一个人”,只不过把名字换了换,但本质上还是同样的。

因此,引用并不分配独立的存储空间,它与目标变量共用内存空间。如果该引用不是用作函数的参数或者返回值,则必须提供该引用的初始值。

当swap之后,形参中的值被交换,则相应的实参的值也被改变。

说明: 使用引用传递可以通过形参的值直接改变实参的值,而使用值传递不可以。

参照文章:参照文章

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。