- 引用传递:
- 引用传递是将实参的地址传递给形参,形参通过引用可以修改实参的值。
- 使用引用传递可以节省内存,避免拷贝大量数据。
- 在函数内部对形参的修改会影响到实参。
void changeValue(int& num) {
num = 10;
}
int main() {
int x = 5;
changeValue(x);
cout << x; // 输出10
return 0;
}
- const引用:
- const引用是不允许修改实参的值的引用。
- 使用const引用可以防止在函数内部意外修改实参的值。
- const引用可以绑定到临时变量或常量上。
void printValue(const int& num) {
cout << num;
}
int main() {
int x = 5;
printValue(x);
printValue(10);
return 0;
}
总结:
- 引用传递可以修改实参的值,而const引用不允许修改实参的值。
- 使用const引用可以避免不必要的数据复制和修改实参的风险。