c++++ 函数调用的返回值传递方式分为两种:值传递和引用传递。值传递是将函数返回值的副本传递给调用方,引用传递是将函数返回值的引用传递给调用方,修改返回值会影响原值。
C++ 函数调用的返回值传递方式
在 C++ 中,函数可以返回各种数据类型,包括基本类型(int、char、float 等)和用户自定义类型(类、结构等)。函数调用的返回值可以通过两种方式传递:值传递和引用传递。
值传递
值传递是将函数返回值的副本传递给调用方。也就是说,当函数返回时,调用方得到的是返回值的副本,而不是指向原值的引用。
int add(int a, int b) {
return a + b;
}
int main() {
int x = 5;
int y = 6;
int sum = add(x, y); // 调用 add 函数,值传递
cout << "sum: " << sum << endl;
}
在上面的代码中,add 函数返回两个整数的和。调用 add 时,变量 x 和 y 的值被传递给函数。函数返回的和存储在局部变量 sum 中。因为是值传递,所以修改 sum 不会影响 x 和 y 的值。
立即学习“C++免费学习笔记(深入)”;
引用传递
引用传递是指将函数返回值的引用传递给调用方。这意味着,调用方获得的是指向原值的指针,对返回值的修改会影响原值。
void swap(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int x = 5;
int y = 6;
swap(x, y); // 调用 swap 函数,引用传递
cout << "x: " << x << endl; // 10
cout << "y: " << y << endl; // 5
}
在上面的代码中,swap 函数交换两个整数的值。调用 swap 时,变量 x 和 y 的引用被传递给函数。函数对传入的引用进行修改,因此修改的值会影响原值。因此,在 main 函数中,x 和 y 的值被交换。