#include <iostream> #include <vector> #include <algorithm> using namespace std; //值传递.将变量名作为实参和形参,传给形参的是变量的值,传递是单向的.如果在执行函数过程中形参值发生变化,并不传回给实参 void swap1(int a, int b){ int temp = a; a = b; b = temp; } //地址传递.形参是指针变量,实参是一个变更的地址,调用函数时,形参(指针变量)指向实参变量单元. void swap2(int* a, int* b){ int temp = *a; *a =* b; *b = temp; } //引用型,别名 实参和形参共享一内存单元,形参的改变将导致实参的改变 void swap3(int& a, int& b){ int temp = a; a = b; b = temp; } int main() { int a = 1; int b = 2; swap1(a,b); cout<<"a= "<<a<<" b= "<<b<<endl; swap2(&a,&b); cout<<"a= "<<a<<" b= "<<b<<endl; swap3(a,b); cout<<"a= "<<a<<" b= "<<b<<endl; system("pause"); return 0; }