一般变量(int float double等)作为函数参数,如果想通过函数入口参数 回传给调用程序是不可行的。可以采用引用或者指针作为函数的参数将函数的结果传回给调用程序。参照C++primer第五版p227。
再补充一个知识点,关于指针,申请指针后必须对指针实例化。 例如 float* pt= new float;
例如编写一个变量值交换的程序。对比结果如下
#include<iostream>
using namespace std;
void swap1(int a,int b)
{
int tmp = a;
a = b;
b = tmp;
}
void swap2(int& a,int& b)
{
int tmp = a;
a = b;
b = tmp;
}
void swap3(int* a,int* b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
int main(int argc,char* argv[])
{
int a=4,b=8;
swap1(a,b);
cout<<"a ="<<a<<endl;
cout<<"b ="<<b<<endl;
a=4;
b=8;
swap2(a,b);
cout<<"a ="<<a<<endl;
cout<<"b ="<<b<<endl;
a=4;
b=8;
cout<<"a ="<<a<<endl;
cout<<"b ="<<b<<endl;
return 0;
}