Функция типа bool получает параметр (ссылку) и, возможно, возвращает его в C ++? - PullRequest
0 голосов
/ 26 октября 2018

В моем университете есть домашнее задание, в котором я должен создать функцию типа 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(){

}

1 Ответ

0 голосов
/ 26 октября 2018

Когда вы передаете по значению. например, 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 будет верным в любом случае.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...