C++语言中,函数的参数和返回值的传递方式有3种:引用传递、指针传递和值传递。
1、引用传递
引用传递传递的是引用对象的内存地址。
引用传递的特点是:被调函数对形参的任何操作都会影响主调函数中的实参变量。
举例说明:
#include<iostream>
using namespace std;
void swap3(int &p,int &q)
{
int temp;
temp =p;
p=q;
q=temp;
cout<<p<<" "<<q<<endl;
}
int main()
{
int x=1,y=2;
swap3(x,y);
cout<<x<<" "<<y<<endl;
}
该函数的功能就是交换x和y。
2、指针传递
指针是用来控制对象的内存地址的,它指向单个对象的地址,除了void指针类型外,指针的数据类型与所指向地址的变量数据类型须保持一致。
指针传递只需交换地址即可,举例如下:
#include<iostream>
using namespace std;
void swap2(int *p,int *q)
{
int temp;
temp =*p;
*p=*q;
*q=temp;
cout<<p<<" "<<q<