理论讲解请参考:C++ Primer 第五版 第6章 6.2——函数参数传递阅读笔记
目录
6.10 指针形参交换两个数
# include <iostream>
# include <string>
# include <vector>
using namespace std;
void fun(int *v1,int *v2)
{
int i = 0;
int * temp = &i;
*temp = *v1;
*v1 = *v2;
*v2 = *temp;
}
int main()
{
int m = 6;
int n = 9;
cout << "m: " << m << " n: " << n << endl;
fun(&m, &n); //这里调用,参数是地址,因为形参是指针,区别于形参是引用
cout << "交换后的值为:" << endl;
cout << "m: " << m << " n: " << n << endl;
return 0;
}
运行结果:
6.12 引用形参交换两个数
# include <iostream>
# include <string>
# include <vector>
using namespace std;
void fun(int &v1,int &v2)
{
int i = 0;
int &temp = i;
temp = v1;
v1 = v2;
v2 = temp;
}
int main()
{
int m = 6;
int n = 9;
cout << "m: " << m << " n: " << n << endl;
fun(m, n); //这里参数只需对象就行,不需要地址
cout << "交换后的值为:" << endl;
cout << "m: " << m << " n: " << n << endl;
return 0;
}
运行结果