swap()函数使用
swap 函数是在 std标准库里的函数
可以用来交换两个值
#include<iostream>
using namespace std;
//测试程序
int main(){ //before swap;a=10,b=99
int a=10; //after swap;a=99,b=10
int b=99;
cout<<"before swap="<<"a="<<a<<"b="<<b;
swap(a,b);
cout<<"after awap="<<"a="<<a<<"b="<<b;
return o;
}
一.函数传参的三种方式:传值,传址,传引用。
1.值传递
(1)形参和实参各占一个独立的存储空间。
(2)形参的存储空间是函数被调用时才分配的,调用开始,系统为形参开辟一个临时的存储区,故形参与实参不在同一储存单元,然后将各实参传递给形参,这时形参就得到了实参的值,并且传递是单向的,且形参的改变不影响实参。
#include<iostream>
void swap1(int x,int y)
{
int tmp;
tmp = x;
x = y;
y = tmp;
cout<<"x="<<x<<"y="<<y<<endl;
}
int main()
{
int a = 2;
int b = 3;
swap1(a, b);//a,b变量为swap函数的实际参数
cout<<"a="<<a<<"b="<<b;
return 0;
}
输出结果:x=3,y=2,a=2,b=3
2.指针传递
址传递与值传递的不同在于,它把实参的存储地址传送给形参,使得形参指针和实参指针指向同一块地址。因此,被调用函数中对形参指针所指向的地址中内容的任何改变都会影响到实参。
3.引用传递
引用传递:形参是引用变量,和实参是一个变量,调用函数时,形参(引用变量)指向实参变量单元。就是说通过形参引用来改变实参的值。