C++ 引用的基本概念

/*
1 引用没有定义, 是一种关系型声明。声明它和原有某一变量(实体)的关
系。故 而类型与原类型保持一致, 且不分配内存。与被引用的变量有相同的地
址。
2 声明的时候必须初始化, 一经声明, 不可变更。
3 可对引用, 再次引用。多次引用的结果, 是某一变量具有多个别名。
4 & 符号前有数据类型时, 是引用。其它皆为取地址

*/

引用一定要初始化

#include <iostream>

using namespace std;
/*
1 引用没有定义, 是一种关系型声明。声明它和原有某一变量(实体)的关
系。故 而类型与原类型保持一致, 且不分配内存。与被引用的变量有相同的地
址。
2 声明的时候必须初始化, 一经声明, 不可变更。
3 可对引用, 再次引用。多次引用的结果, 是某一变量具有多个别名。
4 & 符号前有数据类型时, 是引用。其它皆为取地址
*/
int main(void)
{
	int a = 10; //在内存上开辟字节  a就代表这个4个字节内存

	int *p = &a; //让一个指针 指向这个4字节空间

	*p = 20;

	cout << "a=" << a << endl;

	//c++提供另一种对变量的间接操作方式 就是使用引用
	int &b = a;//定义一个引用b指向a  b此时就是变量a的别名
	b = 40;
	cout << "a=" << a << endl;
	cout << " b= " << b << endl;

	//有相同的地址
	cout << "&a=" << &a << endl;
	cout << "&b=" << &b << endl;

	//int & c; 这样会报错 只是单纯定义一个引用 不初始化  引用一定要初始化

	int &bb = b;//对b引用再次  引用  实际上是b的别名

	cout << "bb = " << bb << endl;
	cout << "&bb =" << &bb << endl;

	return 0;
}
//函数不用 引用不用初始化参数  调用时会传入
int printA(int &a)
{
	cout << "a = " << a << endl;
	return 0;
 }

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值