Другие языки программирования и технологии
Вопрос про функции (с++)
Я правильно понял что функция типа int возвращает значение, потому что она выполняет какие либо расчеты (которые могут быть заранее неизвестны) и поэтому она как бы возвращает результат своей работы? А функция типа void ничего не возвращает, то есть ничего не считает, а может просто например выводить какое то сообщение на экран (то есть мы заранее знаем какое сообщение она выведет). Итог: int - возвращает какое то число (результат вычислений), void - ничего не считает и возвращает какой нибудь текст который не меняется
void - ничего не считает и возвращает какой нибудь текст который не меняется/
Может считать очень много чего, но ничего не вернет. в том числе "какой-нибудь текст".
Функции выполняют две вещи:
1. на основании переданных аргументов и окружения выполняют вычисления и возвращают результат. void - лишь частный случай такого результата.
2. производят некие побочные эффекты, например, вывод на экран.
Если результат функции не зависит от аргументов и окружения (void - типичный пример такого результата), значит функция написана только для побочных эффектов.
Если результат функции зависит только от аргументов, не зависит от окружения - получаем "функцию" в математическом смысле этого слова. если такая математическая функция еще и побочных эффектов не производит - получаем так называемую "чистую" функцию. чистые функции легко писать и отлаживать. их поведение предсказуемо.
Может считать очень много чего, но ничего не вернет. в том числе "какой-нибудь текст".
Функции выполняют две вещи:
1. на основании переданных аргументов и окружения выполняют вычисления и возвращают результат. void - лишь частный случай такого результата.
2. производят некие побочные эффекты, например, вывод на экран.
Если результат функции не зависит от аргументов и окружения (void - типичный пример такого результата), значит функция написана только для побочных эффектов.
Если результат функции зависит только от аргументов, не зависит от окружения - получаем "функцию" в математическом смысле этого слова. если такая математическая функция еще и побочных эффектов не производит - получаем так называемую "чистую" функцию. чистые функции легко писать и отлаживать. их поведение предсказуемо.
Нет, не правильно. Функция может ничего не вычислять но возвращать int, равно как и функция, которая ничего не возвращает может выполнять любые вычисления. Одно другому не помеха.
Только выводить на экран функция может ОДНО из ТЫСЯЧИ сообщений.
Функция может не только возвращать или не возвращать какое-то значение, но и менять объявленные вне ее переменные или менять значения передаваемых ей параметров.
А функция void может быть в классе, который содержит кучу полей. Вот она все "считает", а потом эти поля используются. the_class->eval(); int a = the_class->count; struct_type *pages = the_class->pages; и т. д....
Функция выполняет какие-то действия, т. е. всегда "считает" какой-бы она не была. Может она вообще возвращает код ошибки, который можно игнорировать.
Функция выполняет какие-то действия, т. е. всегда "считает" какой-бы она не была. Может она вообще возвращает код ошибки, который можно игнорировать.
Похожие вопросы
- Вопросы про функции. За лучший и полный ответ 50 баллов
- C++. Вопрос по функции memmove()
- Вопрос по функции rand srand c++
- Вопрос для тех кто знает точный ответ, язык C про функции все подробности вопроса внутри...
- Вопрос про возвращаемое значение из функции в С++.
- Помогите с информатикой. Вопрос по С++: написание функций с помощью void
- Вопрос (точнее просьба) про функции в С++.
- Помогите с Си. Вопрос по заданию (насчет типизированной функции, которая должна возвращать массив)
- Вопрос массивам и функциям по с++
- Вопрос насчет объявления и параметра функции в C++