C++指针与引用的对比

交换a、b值 

方法一

使用指针,需在传参时传递地址,并且需新定义两个指针变量分别指向a、b。

void Swap(int* p1, int* p2) {
	int t;
	t = *p1;
	*p2 = *p1;
	*p2 = t;
}//注意两处的*含义不同,第一处*是定义指针变量,*只是起到说明作用
//第二处*是解引用,*p1为实际值
int main() {
	int a, b;
	cin >> a >> b;
	int* pa = &a;
	int* pb = &b;
	swap(*pa,*pb);
	cout << "a= " << a << "b= " << b;
	return 0;
}

方法一

使用引用,C++引入引用,只需在函数定义时指明别名,函数调用时,x,y就初始化为a,b的别名,共用内存空间。

void Swap(int &x, int &y) {

	int t;
	t = x;
	x= y;
	 y= t;
}
int main() {
	int a, b;
	cin >> a >> b;
	swap(a, b);
	cout << "a= " << a << "b= " << b;
	return 0;
}

你可能感兴趣的:(c++,c语言)