#include<iostream>
using namespace std;
int func_chuanzhi(int x)
{
x = x*10;
return x;
}
int func_zhizhen(int *x)
{
*x = *x * 10;
return *x;
}
int func_yinyong(int &x)
{
x = x * 10;
return x;
}
int main()
{
int a = 9;
cout<<"值传递"<<endl;
cout<<func_chuanzhi(a)<<endl;
cout<<a<<endl;
cout<<"指针传递"<<endl;
cout<<func_zhizhen(&a)<<endl;
cout<<a<<endl;
a =9;
cout<<"引用传递"<<endl;
cout<<func_yinyong(a)<<endl;
cout<<a<<endl;
return 0;
}
其中值传递仅仅是数值的传递,实参与形参没有关联,但指针传递与引用传递将实参与形参关联起来了。
指针传递是C++继承自C语言的方法,而引用传递是C++独有的传递方式。