Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

LoGmiR Dvurukiy Знаток (365), закрыт 10 лет назад
Что это всё значит? Куда возвращает? Зачем возвращает? Каким образом? Для чего вообще? Никто толком объяснить не может. Просто мыкают "ну это такая фигня, которая возвращается"
Дополнен 10 лет назад
и, пожалуйста, без "ну вот сам посмотри", "Если*****, то ******"
Просто и ясно. Для чего. Как.
Лучший ответ
San4az Мыслитель (9509) 10 лет назад
Куда возвращает?
вызывающей ф-ии она возвращает

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

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

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

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

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

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

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

В этом и смысл к примеру
Остальные ответы
my 791 Профи (998) 10 лет назад
Вот ты вызываешь функцию:
x = myFunction(10) + 25

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

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

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

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

уясни для начал, что есть функция в математике
Прост Александр Просветленный (32321) 5 лет назад
Удивительно что никто их этих идиотов и не понял вопрос и не сказал ответ.
На сколько я понимаю, возвращает значит - просто выводит в программе результат.
Stanley Pro Ученик (102) 4 года назад
Спасибо, Александр Сергеевич!) Пол инета облазил, везде идиоты) Хоть 1 человек внимательно прочел вопрос и дал адекватный ответ.
Данил Цыкунов Знаток (271) 2 года назад
К сожалению, Александр дал ещё более неверную информацию. Функция return даёт не только возврат информации (именно информации, а не результат, как написал Александр). Главная её задача - возврат управления*, которое мы передали функции. Возврат информации - это дополнительная возможность получить какое-либо значение (поработали с числом а, на выходе попросили вернуть а^2, например, или значение другого параметра, который создан в самой функции).
* - при вызове функции текущий код становится на паузу и передаёт управление в функцию, которая делает что-то и возвращает управление в то место, где происходил вызов, а дополнительно может отправить какую-то информацию туда.
Похожие вопросы