#include using namespace std; void swap( int *&a,int *&b ) { int * tmp = a; a = b; b = tmp; } int main() { int a = 3,b = 5; int * pa = & a; int * pb = & b; swap(pa,pb); cout << *pa << "," << * pb; return 0; } swap的两个形参为什么是这样写
应为swap需要进行数值交换,所以需要加入&符号,这样传参就可以在swap函数中将外部值改变,pa、pb都是int型指针,所以传参需要用int *进行传参,二者结合后传参的类型就是int *&类型!望采纳!