我想知道您是否可以更改被视为函数参数的外部输入变量的值,我记得看到过一种方法,但我记不太清了。
假设我们使用一个函数来求两个数的和,它有两个参数,第一个参数将引入一个值为 5 的变量,第二个参数是一个值为 3 的常数。
int numero = 5;
void sumaNumero(int num1, int num2){
num1 = num1 + num2;
}
sumaNumero(numero, 3);
cout << "Resultado de la suma = " << numero << endl;
总和的结果应存储在变量中。这个程序真的有效吗?
正如你所说,没有。
但是……稍微改变一下……
使用原始代码,您通过 value传递参数,因此您在函数内部得到的是一个副本,并且其可能的更改仅限于函数内部。
通过我指出的修改,您通过引用传递它;因此,任何修改(如果在函数之外可见)。
可以咨询和有什么区别?
int *
int &
了解更多信息。您必须使用参考:
它也可以用指针来完成,但是代码会有点丑陋(在这种情况下没有明显的原因):
尽管对于示例中的特定情况,我建议您通过返回值,
return
因为结果更合乎逻辑: