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;
}

相关推荐

  1. C++指针引用对比

    2024-01-13 20:42:04       60 阅读
  2. 6. C++引用指针

    2024-01-13 20:42:04       41 阅读
  3. 浅析C++指针引用

    2024-01-13 20:42:04       40 阅读
  4. C++中引用指针介绍

    2024-01-13 20:42:04       25 阅读
  5. C/C++指针指针*引用&区别

    2024-01-13 20:42:04       58 阅读
  6. C++二级指针指向引用

    2024-01-13 20:42:04       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-13 20:42:04       75 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-13 20:42:04       80 阅读
  3. 在Django里面运行非项目文件

    2024-01-13 20:42:04       64 阅读
  4. Python语言-面向对象

    2024-01-13 20:42:04       75 阅读

热门阅读

  1. three.js学习笔记 day1-2

    2024-01-13 20:42:04       45 阅读
  2. HTML基本语法

    2024-01-13 20:42:04       59 阅读
  3. 1月12日,每日信息差

    2024-01-13 20:42:04       65 阅读
  4. Android 8.1 隐藏设置中定位功能

    2024-01-13 20:42:04       60 阅读
  5. 【并发编程】锁

    2024-01-13 20:42:04       50 阅读
  6. 软件测试常问问题3

    2024-01-13 20:42:04       60 阅读
  7. MISGAN

    MISGAN

    2024-01-13 20:42:04      60 阅读
  8. 28. 找出字符串中第一个匹配项的下标

    2024-01-13 20:42:04       57 阅读