本文主要是介绍C++中传值、传址与传引用的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、参数传递的概念
所谓参数传递就是用函数调用所给出的实参(实际参数)向函数定义所给出的形参(形式参数)设置初始值的过程。
在c++中,调用函数时有三种参数传递方式,分别为:
(1)传值调用;
(2)传址调用(即是传指针);
(3)传引用 ;
总体上参数传递可以分为两类,由形参的类别决定:值调用与引用调用。除了定义为引用类型的形参外,其他类型的形参都是对应着值调用。指针传递也是值调用,只是它是值传递的是地址。下面对这三种参数传递方式进行详细的说明:
值传递:
值传递时,实参被拷贝了一份,然后在函数体内使用,函数体内修改参数变量时修改的只是实参的一份拷贝,而实参本身没有改变,所以如果想要在调用的函数中修改实参的值,使用值传递不能达到其目的,这时只能使用引用或者指针传递。下面代码可以说明:
void swap( int a , int b ) //此时传递的实参i与j的值在这里只是一份拷贝,交换的是他们的拷贝的值,而不是实参本身,出了这个函数的作用域之后,他们的拷贝值被销毁,因此i与j的值根本就没有交换。
{
int temp = 0;
temp = a ;
a
这篇关于C++中传值、传址与传引用的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!