当前位置:   article > 正文

c++初级-2-引用

c++初级-2-引用

引用

即给一个变量起别名。

一、引用的定义

	int a = 10;
	
	//引用
	int& b = a;

	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	b = 20;

	cout << "修改后" << endl;
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
/***
输出结果:

a = 10
b = 10
修改后
a = 20
b = 20
**/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

引用要求

  • 引用必须初始化。
  • 引用之后,不可以更改引用的对象。

二、引用做函数参数

使用形参修饰实参。

#include<iostream>

using namespace std;

void m_swap(int& a, int& b)
{
	int temp = a;
	a = b;
	b = temp;

}

int main()
{
	//int a = 10;
	//int& b = a;

	int a = 10;
	int b = 20;

	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	m_swap(a, b);

	cout << "交换后" << endl;
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	return 0;
}

/***
输出结果;

a = 10
b = 20
交换后
a = 20
b = 10
***/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

三、引用作为返回对象

  • 不可以返回局部变量的引用。
int& add(int& a,int b)
{
   int sum = a + b;

//错误行为
  return sum;

//正确行为
   return  a;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 可以作为左值
add() = 20;
  • 1

四、引用的本质

引用的本质是指针常量,当使用引用时,编译器会把它转换成指针常量。

五、常量引用

void print(const int& a)
{
	//使用const后,不能对a进行改修。
	cout << a << endl;
}
  • 1
  • 2
  • 3
  • 4
  • 5
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号