C++基础- 引用

引用

引用的基本使用

作用:给变量起别名

10年积累的成都做网站、成都网站建设、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有大邑县免费网站建设让你可以放心的选择与我们合作。

语法:数据类型 &别名 = 原名

引用注意事项

  • 引用必须初始化
  • 引用一旦初始化,就不可以更改(一个别名只能初始化一次:只可以跟一个原名)

引用做函数参数

  • 函数传参时,可以用引用技术让形参修饰实参
  • 简化指针修饰形参
#include              
using namespace std;
void change(int *a,int *b){ //基本的交换数字
	int temp;
		temp = *a;
		*a = *b;
		*b =temp;
}
int main(){
	int a = 10;
	int b = 20;
	cout << &a << '\t' << &b << endl; //输出a和b的地址
	change(&a,&b); //调用函数
	cout << a << '\n' << b << '\n';
    cout << &a << '\t' << &b << endl; // 再次输出a和b的地址
    
 return 0;
}
#include              
using namespace std;
int main(){	
	int a;
	a = 10;
	int &b = a;
	b =20;
	cout << &a << '\t' << &b << endl;
	cout << a << '\t' << b << endl;
 return 0;
}

对别名的的操作就是对原名的操作

引用做函数的返回值

引用时可以作为函数的返回值的

注:不要返回局部变量引用

    函数调用作为左值(可以给它赋值)

我感觉是一个二级指针,是指向指针的指针

#include            //引用做返回值
using namespace std;

int& test1(){//类型是引用型的
static int a = 10;//全局变量,全局区(程序结束后释放)
cout << &a <<"1"<< '\n';
	return a;
}
int main(){
	int &ref = test1();
	cout << ref << '\n';
	test1() = 1000;
	cout << &test1() << "2" << '\n';
    cout << &ref << "3" << '\n';
 return 0;

a,test1(),ref这三个的地址是一样

引用的本质

本质:引用的本质在C++内部的实现是一个指针常量

常量引用

const 引用

作用:常量引用主要用来修饰形参,防止误操作

在函数形参列表中,可以加const修饰形参,防止形参变成实参

 #include        //引用常量
using namespace std;
void printf(const int &val){
    //val = 1000;         加了const后就不可以修改了哦
	cout << "val=" << val << endl;
}
int main(){
	//const 之后相当于 int temp = 10; const int &ref = temp;
	//const 之后ref变成了只读的状态,不可以修改
	//const int &ref = 10;//引用必须引一块合法空间
	int a = 100;
    printf(a);
 return 0;
}

本文名称:C++基础- 引用
文章位置:http://ybzwz.com/article/dsoihod.html