我在大学里有一项家庭作业,我应该做一个bool(double &var)
类型的函数,该函数将对该变量的引用作为参数。然后,该函数执行一些计算,并应在一个新的单独变量中计算结果,但同时应将其返回到var
变量(该函数的参数)中。我想问如何做到这一点?下面是一个简单的问题示例:
#include <iostream>
using namespace std;
double rez;
bool func(double &var){
//var = 5;
if(var>3){
rez = var;
return var;
}
else{
return false;
}
}
int main(){
}
答案 0 :(得分:0)
传递值时。像bool func(double var)
一样,发生的事情是您获得了本地var
,如果您离开范围,它将消失。想象这样的事情:
功能
bool func(double var) {
double res = var * 2;
return true;
}
这样称呼:
double someVar = 5;
bool success = func(someVar);
您可以使用var
计算所有所需的内容,当从func
返回时,本地副本var
将消失,而您剩下的是someVar == 5
。
现在,当您通过每个引用(即bool func(double &var)
)传递时,您对传递的var
所做的一切都将处理到原始引用。这意味着从func
返回时,您将剩下someVar == 10
。 success
无论哪种方式都是正确的。
希望这会有所帮助