gpt4 book ai didi

c++ - 在 CPP 中交换 2 个号码

转载 作者:行者123 更新时间:2023-12-02 10:32:06 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





What's the meaning of * and & when applied to variable names?

(1 个回答)


1年前关闭。




这是交换 2 个数字的代码,它工作正常。但是我很好奇交换函数中x1和x2前面的“&”。在我添加这两个之前,我的代码无法工作。那个“&”是做什么的?

#include<iostream>
using namespace std;

void swap(int &x1,int &x2){
int x = x1;
x1 = x2;
x2 = x;
}

int main(){
int n1 , n2;
cin >> n1 >> n2;

swap(n1,n2);
cout<<n1<<" "<<n2;

return 0;
}

最佳答案

在这个函数中:

void swap(int &x1,int &x2)
&表示它是对传入参数的引用。更改这些变量将更改调用站点的参数。

在这个函数中:
void swap(int x1,int x2)

制作了论据的拷贝。更改这些变量不会更改调用站点的参数。

即使没有函数也是如此。例如
int a = 42;
int &b = a;
b = 5; // now a is also 5

关于c++ - 在 CPP 中交换 2 个号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61867093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com