c++中函数传递方式通常为可以让主调函数改变传递值,选择函数传递指针或者引用两种方式,针对形参的传递两种方式,他们有区别的 c++
形参指针的传递会单独开辟内存单元来存储地址,而形参为引用则不会,引用就是变量的别名,她是和变量共享存储单元的,因此不会独占内存单元(我的建议选择引用做为形参经常使用);具体看两个函数: 函数
//形参是指针变量 void swap(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp; } //形参引用 void swap(int &a,int &b){ int temp; temp=a; a=b; b=temp; }第一个函数形参为指针,使用swap(&c,&d);将实参的地址传输给指针变量,便是*a,*b和c,d变量对应同一内存单元;
第二个函数形参为引用,上面也提到引用实质就是变量的别名,因此直接这样干swap(c,d);传递变量名就能够了;ps:函数二形参是引用,不是取地址 指针