Другие языки программирования и технологии

Что значит "функция возвращает значение" в С++?

Что это всё значит? Куда возвращает? Зачем возвращает? Каким образом? Для чего вообще? Никто толком объяснить не может. Просто мыкают "ну это такая фигня, которая возвращается"
Куда возвращает?
вызывающей ф-ии она возвращает

Зачем возвращает?
потом что ф-ия так определена, что она возвращает значение, ибо это её логическое завершение работы

Каким образом?
что бы ф-ия что-то возвращала:
1 - должен быть указан любой из доступных типов который она будет возвращать, не void
2 - соответственно если указан тип возвращаемых данных то должен быть return выражение как минимум в самом конце ф-ии

Для чего вообще?
Ну например тебе приспичило самому сделать ф-ию возведения числа в куб

int num = 3;
cout << "Куб числа " << num " равен - " <<myCub(num) << endl;

определение ф-ии
int myCub(int n)
{
retrun (n*n*n);
}

Соответственно в окне консоли ты увидишь:

Куб числа 3 равен - 27

В этом и смысл к примеру
Дмитрий Горин
Дмитрий Горин
9 475
Лучший ответ
Это означает, что имя функции может использоваться как переменная, значение которой вычисляется в теле функции.
Например, int f(int a){return a*a;}
При вызове b=f(3)+1; будет b присвоено значение 10. По принятой терминологии говорят, что функция, получив параметр со значением 3, возвратила значение 9.
В принципе функция может возвращать значения не только через свое имя, но и с помощью присвоения новых значений переданным ей как имена переменных параметрам, но для этого нужен специальный синтаксис их перечисления в списке параметров, это ты будешь осваивать позже.
Daur ™
Daur ™
60 294
В математике что делает функция sin x?
На входе берет число x, а на выходе тоже выдает некоторое число. Результат выполнения функции sin - это и есть возвращаемое значение. Оно ВОЗВРАЩАЕТСЯ В ТУ ЧАСТЬ ПРОГРАММЫ, КОТОРАЯ ВЫЗВАЛА ФУНКЦИЮ sin и этим возвращенным значением можно воспользоваться по своему усмотрению.
Павел Алексин
Павел Алексин
54 366
Удивительно что никто их этих идиотов и не понял вопрос и не сказал ответ.
На сколько я понимаю, возвращает значит - просто выводит в программе результат.
Rasul Rza-Li
Rasul Rza-Li
32 159
если интересно, смотрите асссемблерный код, в кратце: есть процессорная команда call (переход по адресу в сегменте кода) и ret (вынуть из стека адрес, положенный туда командой call и перейти по этому адресу)

так вот перед выполннением команды ret обычно в регистр eax записывается какое-то значение, это значение и возвращает функция в вызвавший ее код через регистр eax.

но вообще Булат более правильно ответил, так как программирование это прежде всего математика, следовательно и объяснять надо математическими терминами.

уясни для начал, что есть функция в математике
Вот ты вызываешь функцию:
x = myFunction(10) + 25

Если функция возвращает число 5, то это равнозначно
x = 5 + 25

Т. е. функция возвращает значение в то место, откуда она была вызвана.
К сожалению, Александр дал ещё более неверную информацию. Функция return даёт не только возврат информации (именно информации, а не результат, как написал Александр). Главная её задача - возврат управления*, которое мы передали функции. Возврат информации - это дополнительная возможность получить какое-либо значение (поработали с числом а, на выходе попросили вернуть а^2, например, или значение другого параметра, который создан в самой функции).
* - при вызове функции текущий код становится на паузу и передаёт управление в функцию, которая делает что-то и возвращает управление в то место, где происходил вызов, а дополнительно может отправить какую-то информацию туда.
Andrey Sochnev
Andrey Sochnev
235
Спасибо, Александр Сергеевич!) Пол инета облазил, везде идиоты) Хоть 1 человек внимательно прочел вопрос и дал адекватный ответ.