引用的其他形式

引用的其他形式

指针引用

  • 使用指针引用时,相当于是使用二级指针,使用二级指针可以从函数内部带出函数里的变量,那么使用指针引用也可以
#include <iostream>

using namespace std;
//使用二级指针形式
void boy_home(int** meipo) {
	static int boy = 23;
	*meipo = &boy;
}
//使用指针引用的形式
void boy_home1(int*& meipo) {
	static int boy = 23;
	meipo = &boy;
}
int main(void) {
	int* meipo1 = NULL;
	int* meipo2 = NULL;

	cout << "调用使用二级指针形式的函数" << endl;
	boy_home(&meipo1);
	cout << *meipo1 << endl;

	cout << "调用使用指针引用形式的函数" << endl;
	boy_home1(meipo2);
	cout << *meipo2 << endl;
	return 0;
}

在这里插入图片描述

常引用

  • 在 C++中可以声明 const 引用

    语法:

    const Type& name = var;

    const 引用让变量拥有只读属性

#include <iostream>

using namespace std;

int main(void) {
	int a = 10;

	//1.用变量初始化常引用
	const int& b = a;
	//b = 100; //常引用是让变量引用变成只读,不能通过引用对变量进行修改
	printf("a: %d\n", a);

	//2.用字面量初始化常量引用
	const int c1 = 10;
	const int& c2 = 10; //这个是在 C++中,编译器会对这样的定义的引用分配内存,这算是一个特例
	int c3 = c2;
	//c2 = 100;//不能修改
	return 0;
}
  • const 引用结论:

    1)const & int e 相当于 const int * const e

    2)普通引用 相当于 int *const e1

    3)当使用常量(字面量)对const引用进行初始化时,C++编译器会为常量值分配空间, 并将引用名作为这段空间的别名

    4)使用字面量对const引用初始化后,将生成一个只读变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值