一般来说,C++参数传递有三种方式:值传递、指针传递和引用传递。
1.值传递
#include<iostream.h>
void fun(int a,int b)
{
int temp;
temp=a;
a=b;
b=temp;
}
void main()
{
int m,n;
m=1;
n=2;
fun(m,n);
cout<<m<<""<<n<<endl; //输出结果为 12
}
此处输出结果为12,传入的实参实际上是m、n的副本而非其本身,因为fun()方法是对变量m、n值的复制,而m、n本身并未改变。
2.指针传递
#include <iostream>
void fun(int *x)
{
*x+=10;
}
void main()
{
int a = 10;
fun(&a);
cout<<a<<endl;
}
3.引用传递
void main()
{
int x;
int &y=x; //变量引用
y=99;
cout<<"x="<<x<<endl; //输出结果为 x=99
}