c++基础入门笔记13引用

121 阅读1分钟

1.引用的使用

引用是给数据起一个别名,可有多个别名,但别名也遵循原名规则。

数据类型 &别名=原名;

同原名一样,别名也可以操作原名指向的数据。别名必须进行初始化操作。

2.通过引用做函数参数

void swap(int &a,int &b){//引用指向的就是原名
    int temp=a;
    a=b;
    b=temp;
}

int main(){
    int x=10;
    int z=20;
    swap(x,z);
    cout<<x<<" "<<z<<endl;//值发生了改变

3.引用做函数返回值

注意不要做返回局部变量引用

int & sa() {//局部变量引用
	int a = 10;
	return a;
}
	int main(){
		int & a = sa();
		cout << a << endl;
		cout << a << endl;
    system("pause");
	return 0;
}

函数调用作为左值

int & sa() {
	static int a = 10;//静态变量
	return a;
}
	int main(){
		int & a = sa();
		cout << a << endl;
		cout << a << endl;

		sa() = 100;//函数调用作为左值
			cout << a << endl;
		cout << a << endl;
    system("pause");
	return 0;
}

4.引用的本质

引用是一个在c++内部实现的指针常量

int & a本质是 int * const a

地址不可变

5.常量引用

通常用const来修饰形参,防止形参引用改变实参。也可以const修饰实参

const int & a=10//可以直接赋值,编译器会直接定义int temp=10,int & a=temp,temp为临时变量。