|
0 / 0 / 0
Регистрация: 11.01.2017
Сообщений: 17
|
|
Тип void как возвращаемое значение функции: что он такое, зачем он нужен, где, когда и как его использовать?17.01.2017, 21:44. Показов 19546. Ответов 6
Метки нет (Все метки)
Объясните пожалуйста про Void для оооочень далекого человека. Читаю книгу Шилдта, в принципе всё ясно, всё понимаю и пробую, но вот Void - дело другое. Я абсолютно не могу понять что это такое. Прочитал кучу сайтов и форумов, везде написано что эта функция, которая не возвращает значения(а что это я всё равно понять не могу, вот как лбом об стену). Хоть палкой на песке рисуй
0
|
|
| 17.01.2017, 21:44 | |
|
Ответы с готовыми решениями:
6
Зачем нужен массив указателей на функцию и как его использовать? Что такое yield return и когда его использовать? Культура оформления кода: что такое enum? Где, когда и для чего уместно применять этот тип? |
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
||
| 17.01.2017, 22:10 | ||
void - это тип, абстракция для понятия "ничто". void в качестве типа возвращаемого значения функции означает, что функция возвращает "ничто", то есть ничего не возвращает.На данном этапе это все, что необходимо об этом типе знать.
1
|
||
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
| 17.01.2017, 22:10 | |
|
В паскале были процедуры и функции.
Причем, записывались с ключевыми словами: procedure и function. procedure - это просто последовательность действий, которую обозвали именем. function - это, некоторая операция, имеющая результат. Например, функция sin - синус. В С\С++ нет ключевых слов. Исторически все подпрограммы обозвали функциями. А функция - имеет результат (который возвращает с помощью return). Если результат не нужен, а нужно просто записать последовательность действий и обозвать ее неким именем? Тогда и пишут void - нет возвращаемого значения.
1
|
|
|
Модератор
|
|||||||||||
| 18.01.2017, 01:54 | |||||||||||
Сообщение было отмечено Lucky_Nucky как решение
Решение
Lucky_Nucky, представьте функцию, как некоего деятеля. Скажем, повар. Повар выполняет определённый набор действий - выполняет все инструкции (statements), находящиеся в теле функции. Тело функции - это то, что между фигурными скобками.
У функции есть несколько характерных свойств. Эти свойства называются заголовком функции (function header). Заголовок функции включает в себя:
На вход в функцию передаются какие-то аргументы. Или, продолжая нашу аналогию, повару передаются какие-то ингредиенты. В теле функции (у себя на кухне) повар как-то эти ингредиенты смешивает и готовит. Иногда повар готовит блюдо определённого типа и выносит его из кухни официантам (наша функция-повар возвращает значение той функции или той системе, которая её вызвала - официант, заказчик, шеф-повар и т.д.). Но иногда повар не возвращает ничего. Он просто готовит у себя на кухне что-то из тех ингредиентов, что ему передали и уже этого вполне достаточно. Готово блюдо съедает на кухне сам повар, а может он скармливает его своей кошке прямо тут же, на кухне (в теле функции).
5
|
|||||||||||
| 18.01.2017, 03:32 | |||
|
Lucky_Nucky,
1
|
|||
| 18.01.2017, 06:38 | |
|
IMHO, все проще. K&K изначально думали только в терминах функций (возвращающих значения). О необходимости процедур они просто забыли и спешно пришлось добавлять функции, возвращающие "ничто". Выглядит этот хак также нелепо, как, например, добавление нуля в римскую систему счисления. Развитие языка только усугубило пороки этого подхода: "недотип" void так и остался заплатой.
1
|
|
|
0 / 0 / 0
Регистрация: 11.01.2017
Сообщений: 17
|
|
| 18.01.2017, 06:49 [ТС] | |
|
Спасибо большое за ответ. Теперь, в принципе, понял. Надо будет еще порыться в интернете, посмотреть её реализацию. А то понять то понял, а потом буду её избегать.
0
|
|
| 18.01.2017, 06:49 | |
|
Помогаю со студенческими работами здесь
7
Что такое knockout.js и как его использовать Объяснить (с примерами) для чего нужен RTTI, как и когда его можно и нужно использовать Зачем функции main тип void? Что такое restful api и как его использовать Что такое CryptoApi и как можно его использовать с алгоритмом CALG_3DES? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|