C/C++教程

c++引用

本文主要是介绍c++引用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

引用指对变量,函数等起一个别名,和指针有些区别。
建立引用时,需要对引用对应一个目标,引用初始化之后就与这个目标捆绑,即不能再重新赋值
引用与函数之间存在三种关系
1.引用作为函数参数
可以做到传参的作用
eg.swap函数

void swap (int &x, int &y) {
  int temp;
  temp = x;
  x = y;
  y = temp;
}

2.引用作为函数的返回值
函数的返回值如果声明为引用型,其调用也可以被赋值,函数调用也可以用作左值表达式。
eg.

int &max (int x, int y) {
  return (x > y ? x : y);
}
//可以用以下方法调用max函数
int z = max (a, b);
max (a, b) = 20;  // 将a,b中最大的值改为20
max (a, b) ++;  // 将a,b中最大的值加一

3.通过引用返回多个值

#include <bits/stdc++.h>
#define LL long long
using namespace std;
int score [4] [5] = { {60, 70, 80, 90, 78}, {75, 85, 88, 78, 83}, {89, 88, 79, 96, 90}, {76, 74, 69, 90, 87} };
int &level (int grade [], int unit, int &gA, int &gB) {
	int sum = 0;
	for (int i = 0; i < unit; i++) {
		sum = sum + grade [i];
	}
	sum /= unit;
	if (sum >= 85) return gA;
	else return gB;
}
int main () {
	int genusA = 0, genusB = 0;
	int student = 4;
	int gradeunit = 5;
	for (int i = 0; i < student; i++) 
		level (score [i], gradeunit, genusA, genusB) ++;
	cout << "A级人数为:" << genusA << endl;
	cout << "B级人数为:" << genusB << endl;
	return 0; 
	
}

运行结果为

A级人数为:1
B级人数为:3

ps.
文章较水,只不过我想借此机会改一下自己的码风~

这篇关于c++引用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!