程序
#include <iostream>
using namespace std;
void my_swap1(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void my_swap2(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int a = 10, b = 20;
cout << a << "\t" << b << endl;
my_swap1(&a, &b);
cout << a << "\t" << b << endl;
my_swap2(a, b);
cout << a << "\t" << b << endl;
swap(a, b); // defined by C++
cout << a << "\t" << b << endl;
return 0;
}
在自己定义的当中,显然my_swap2()
更方便一些,这是用引用的。my_swap1()
用的是指针。
如果 parameter list 中用的是 plain型(也就是既不是引用也不是指针),则影响完全不会作用到main中。
输出示例
查看swap函数定义
右击函数选择查看定义:
可以看到默认函数是用引用来做到的。
所以在C++中更多推荐使用引用(Reference)。
ALL RIGHTS RESERVED © 2020 Teddy van Jerry
欢迎转载,转载请注明出处。