C / C ++中的参数传递技术
在C语言中,我们可以通过两种不同的方式传递参数。这些是按值调用,而按地址调用,在C++中,我们可以获得另一种技术。这称为“按引用调用”。让我们看看这些的效果以及它们如何工作。
首先,我们将看到按值调用。在这种技术中,参数被复制到函数参数中。因此,如果进行了一些修改,将更新复制的值,而不是实际值。
示例
#include <iostream>
using namespace std;
void my_swap(int x, int y) {
int temp;
temp = x;
x = y;
y = temp;
}
int main() {
int a, b;
a = 10;
b = 40;
cout << "(a,b) = (" << a << ", " << b << ")\n";
my_swap(a, b);
cout << "(a,b) = (" << a << ", " << b << ")\n";
}输出结果
(a,b) = (10, 40) (a,b) = (10, 40)
通过地址进行调用是通过将变量的地址传递给函数来进行的。因此,当函数更新该地址指向的值时,实际值将自动更新。
示例
#include <iostream>
using namespace std;
void my_swap(int *x, int *y) {
int temp;
temp = *x;
*x = *y;
*y = temp;
}
int main() {
int a, b;
a = 10;
b = 40;
cout << "(a,b) = (" << a << ", " << b << ")\n";
my_swap(&a, &b);
cout << "(a,b) = (" << a << ", " << b << ")\n";
}输出结果
(a,b) = (10, 40) (a,b) = (40, 10)
像按地址调用一样,这里我们使用按引用调用。这是仅C++的功能。我们必须传递参数的引用变量,因此要对其进行更新,将更新实际值。仅在函数定义中,我们必须在变量名前加上&。
示例
#include <iostream>
using namespace std;
void my_swap(int &x, int &y) {
int temp;
temp = x;
x = y;
y = temp;
}
int main() {
int a, b;
a = 10;
b = 40;
cout << "(a,b) = (" << a << ", " << b << ")\n";
my_swap(a, b);
cout << "(a,b) = (" << a << ", " << b << ")\n";
}输出结果
(a,b) = (10, 40) (a,b) = (40, 10)
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短