C++引用与指针

引用

某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;

#include <iostream>
#include <Windows.h>

using namespace std;

int main(void){
	int a=10;
	printf("a=%d\n",a);
	int &b=a; //a的别名
	printf("b=%d\n",b);

	a=100;
	printf("a=%d b=%d\n",a,b);

	b=1000;
	printf("a=%d b=%d\n",a,b);

	system("pause");
	return 0;
}

在这里插入图片描述 

 以上代码可以看出,引用变量其实就是一个变量的别名.这就好比你有自己的大名,也有自己的小名,还有自己的外号一样,喊你的大名也是在叫你,喊你的小名也是在叫你,喊你的外号也是在叫你.修改引用变量实际上就修改了目标变量.
说明:
(1)&在此不是求地址运算,而是起标识作用。
(2)类型标识符是指目标变量的类型。
(3)声明引用时,必须同时对其进行初始化。
(4)引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。

在这里插入图片描述

引用占不占内存空间:
用struct结构类型来测试.

#include <iostream>
#include <Windows.h>

using namespace std;

struct text{
	int &a;
	int &b;
};

int main(void){
	
	printf("int的大小为:%d 结构体text的大小为:%d\n",sizeof(int),sizeof(text)); //sizeof作用就是返回一个对象或者类型所占的内存字节数

	system("pause");
	return 0;
}

在这里插入图片描述

 看的出来其实是占内存空间的

引用和指针的关系.在C++编译器内部,实现引用的方法其实是指针常量,也就是int* const b;在使用b时也自动帮你变成了*b.

感谢:

https://blog.csdn.net/qq_40950183/article/details/91148051

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值