C++引用复习20200310

一、普通引用:

struct Teacher
{
	char name[16];//16
	int age;//4
	int& c;//4
};

int main()
{
	//普通引用
	int a = 10;
	int& b = a;//定义时必须初始化
	b = 100;//b就是内存标识a的别名
	printf("a=%d\n", a);//修改b相当于修改a
	printf("Teacher=%d\n", sizeof(Teacher));
	cout << "Hello C++" << endl;
	system("pause");
	return 0;
}

代码2:

int getA1()
{
	int a = 10;
	return a;
}
//返回引用看如何去接
//如果是变量去接的话会把值赋给变量
//如果是引用去接会把内存地址赋给变量
int& getA2()
{
	int a = 20;
	return a;
}

int* getA3()
{
	int a = 30;
	return &a;
}

int main()
{
	int a1 = 0;
	int a2 = 0;
	a1 = getA1();//10
	a2 = getA2();//20
	int& a3 = getA2();//
	int* p4 = NULL;
	p4 = getA3();
	printf("a1=%d\n", a1);
	printf("a2=%d\n", a2);
	printf("a3=%d\n", a3);
	system("pause");
	return 0;
}
//返回变量本身-->就是返回变量标识的内存空间

函数返回值为引用当左值:

static int a = 10;

int& g()
{
	a++;
	return a;
}

int main()
{
	int a1 = 0;
	int a2 = 0;
	a1 = g();//a1=11
	printf("a1=%d\n", a1);
	g() = 15;//===>a = 15
	printf("a=%d\n", a);//a1=15
	system("pause");
	return 0;
}

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值