Другие языки программирования и технологии
Что значит "функция возвращает значение" в С++?
Что это всё значит? Куда возвращает? Зачем возвращает? Каким образом? Для чего вообще? Никто толком объяснить не может. Просто мыкают "ну это такая фигня, которая возвращается"
Куда возвращает?
вызывающей ф-ии она возвращает
Зачем возвращает?
потом что ф-ия так определена, что она возвращает значение, ибо это её логическое завершение работы
Каким образом?
что бы ф-ия что-то возвращала:
1 - должен быть указан любой из доступных типов который она будет возвращать, не void
2 - соответственно если указан тип возвращаемых данных то должен быть return выражение как минимум в самом конце ф-ии
Для чего вообще?
Ну например тебе приспичило самому сделать ф-ию возведения числа в куб
int num = 3;
cout << "Куб числа " << num " равен - " <<myCub(num) << endl;
определение ф-ии
int myCub(int n)
{
retrun (n*n*n);
}
Соответственно в окне консоли ты увидишь:
Куб числа 3 равен - 27
В этом и смысл к примеру
вызывающей ф-ии она возвращает
Зачем возвращает?
потом что ф-ия так определена, что она возвращает значение, ибо это её логическое завершение работы
Каким образом?
что бы ф-ия что-то возвращала:
1 - должен быть указан любой из доступных типов который она будет возвращать, не void
2 - соответственно если указан тип возвращаемых данных то должен быть return выражение как минимум в самом конце ф-ии
Для чего вообще?
Ну например тебе приспичило самому сделать ф-ию возведения числа в куб
int num = 3;
cout << "Куб числа " << num " равен - " <<myCub(num) << endl;
определение ф-ии
int myCub(int n)
{
retrun (n*n*n);
}
Соответственно в окне консоли ты увидишь:
Куб числа 3 равен - 27
В этом и смысл к примеру
Это означает, что имя функции может использоваться как переменная, значение которой вычисляется в теле функции.
Например, int f(int a){return a*a;}
При вызове b=f(3)+1; будет b присвоено значение 10. По принятой терминологии говорят, что функция, получив параметр со значением 3, возвратила значение 9.
В принципе функция может возвращать значения не только через свое имя, но и с помощью присвоения новых значений переданным ей как имена переменных параметрам, но для этого нужен специальный синтаксис их перечисления в списке параметров, это ты будешь осваивать позже.
Например, int f(int a){return a*a;}
При вызове b=f(3)+1; будет b присвоено значение 10. По принятой терминологии говорят, что функция, получив параметр со значением 3, возвратила значение 9.
В принципе функция может возвращать значения не только через свое имя, но и с помощью присвоения новых значений переданным ей как имена переменных параметрам, но для этого нужен специальный синтаксис их перечисления в списке параметров, это ты будешь осваивать позже.
В математике что делает функция sin x?
На входе берет число x, а на выходе тоже выдает некоторое число. Результат выполнения функции sin - это и есть возвращаемое значение. Оно ВОЗВРАЩАЕТСЯ В ТУ ЧАСТЬ ПРОГРАММЫ, КОТОРАЯ ВЫЗВАЛА ФУНКЦИЮ sin и этим возвращенным значением можно воспользоваться по своему усмотрению.
На входе берет число x, а на выходе тоже выдает некоторое число. Результат выполнения функции sin - это и есть возвращаемое значение. Оно ВОЗВРАЩАЕТСЯ В ТУ ЧАСТЬ ПРОГРАММЫ, КОТОРАЯ ВЫЗВАЛА ФУНКЦИЮ sin и этим возвращенным значением можно воспользоваться по своему усмотрению.
Удивительно что никто их этих идиотов и не понял вопрос и не сказал ответ.
На сколько я понимаю, возвращает значит - просто выводит в программе результат.
На сколько я понимаю, возвращает значит - просто выводит в программе результат.
если интересно, смотрите асссемблерный код, в кратце: есть процессорная команда call (переход по адресу в сегменте кода) и ret (вынуть из стека адрес, положенный туда командой call и перейти по этому адресу)
так вот перед выполннением команды ret обычно в регистр eax записывается какое-то значение, это значение и возвращает функция в вызвавший ее код через регистр eax.
но вообще Булат более правильно ответил, так как программирование это прежде всего математика, следовательно и объяснять надо математическими терминами.
уясни для начал, что есть функция в математике
так вот перед выполннением команды ret обычно в регистр eax записывается какое-то значение, это значение и возвращает функция в вызвавший ее код через регистр eax.
но вообще Булат более правильно ответил, так как программирование это прежде всего математика, следовательно и объяснять надо математическими терминами.
уясни для начал, что есть функция в математике
Вот ты вызываешь функцию:
x = myFunction(10) + 25
Если функция возвращает число 5, то это равнозначно
x = 5 + 25
Т. е. функция возвращает значение в то место, откуда она была вызвана.
x = myFunction(10) + 25
Если функция возвращает число 5, то это равнозначно
x = 5 + 25
Т. е. функция возвращает значение в то место, откуда она была вызвана.
К сожалению, Александр дал ещё более неверную информацию. Функция return даёт не только возврат информации (именно информации, а не результат, как написал Александр). Главная её задача - возврат управления*, которое мы передали функции. Возврат информации - это дополнительная возможность получить какое-либо значение (поработали с числом а, на выходе попросили вернуть а^2, например, или значение другого параметра, который создан в самой функции).
* - при вызове функции текущий код становится на паузу и передаёт управление в функцию, которая делает что-то и возвращает управление в то место, где происходил вызов, а дополнительно может отправить какую-то информацию туда.
* - при вызове функции текущий код становится на паузу и передаёт управление в функцию, которая делает что-то и возвращает управление в то место, где происходил вызов, а дополнительно может отправить какую-то информацию туда.
Спасибо, Александр Сергеевич!) Пол инета облазил, везде идиоты) Хоть 1 человек внимательно прочел вопрос и дал адекватный ответ.
Похожие вопросы
- Вопрос про возвращаемое значение из функции в С++.
- Что значит возвращает значение функции? для чего нужен оператор return в си? как он работает?
- что значит в программировании функция, которая возвращает значение.
- В чем разница между функциями, которые возвращают значения и которые не возвращают? Не вникаю в смысл слова "возвращает"
- С++. Вопрос про возвращаемое значение из функции
- как в с++ возвращать значение функции больше одного? допустим сразу несколько значений
- Что значит "возвращать значение" в языках программирования?
- Составить подпрограмму-функцию вычисления значений интеграла методом Симпсон.
- Напишите пожалуйста функцию обмена значений двух переменных на си (не c++) для любого типа данных
- Почему в C++ передача аргумента функции по значению считается более быстрой, чем по ссылке?