在C++中,引用是一種別名,它允許我們通過不同的名字來訪問同一個對象。當我們想要傳遞和處理引用結果時,可以使用引用作為函數參數或返回值。
#include<iostream>
void modifyValue(int& x) {
x = x * 2;
}
int main() {
int a = 5;
std::cout << "Before modification: " << a << std::endl;
modifyValue(a);
std::cout << "After modification: " << a << std::endl;
return 0;
}
在這個例子中,modifyValue
函數接受一個整數引用作為參數。當我們將變量a
傳遞給這個函數時,函數內部對參數x
所做的任何修改都會影響到原始變量a
。
#include<iostream>
int& maxValue(int& a, int& b) {
if (a > b) {
return a;
} else {
return b;
}
}
int main() {
int x = 5, y = 10;
int& maxVal = maxValue(x, y);
std::cout << "Max value: "<< maxVal<< std::endl;
maxVal = 15; // 修改maxVal也會影響到原始變量
std::cout << "New max value: "<< maxVal<< std::endl;
return 0;
}
在這個例子中,maxValue
函數返回兩個整數引用中較大的一個。注意,我們需要將返回類型指定為int&
,以表示返回的是一個引用。在main
函數中,我們將返回的引用賦值給maxVal
,然后可以通過maxVal
來訪問和修改原始變量。
需要注意的是,返回局部變量的引用是不安全的,因為局部變量在函數返回后會被銷毀。在這種情況下,最好返回值而不是引用。