專案之黑馬旅遊網(七)----------------具體路線顯示
阿新 • • 發佈:2022-04-11
引用指對變數,函式等起一個別名,和指標有些區別。
建立引用時,需要對引用對應一個目標,引用初始化之後就與這個目標捆綁,即不能再重新賦值
引用與函式之間存在三種關係
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.
文章較水,只不過我想借此機會改一下自己的碼風~