The void
Автор Mr FFFUUUU задал вопрос в разделе Другие языки и технологии
C++ void - нафига он нужен? и получил лучший ответ
Ответ от Андрей Бородкин[мастер]
void используется тогда, когда функции не надо возвращать какое либо значение. Допустим ей надо только что нибудь посчитать и вывести результат нигде не сохраняя.
Ответ от ??? ?????????[гуру]
void Function(int);
Значит, функция не возвращяет ни каких значений (но что то делает)
int Function(void);
Значит, функция не принимает никаких значений (но что то делает)
int *p;
Значит, указатель на переменную типа int
void *p;
Значит, указатель на переменную произвольного (неопределенного) типа
void Function(int);
Значит, функция не возвращяет ни каких значений (но что то делает)
int Function(void);
Значит, функция не принимает никаких значений (но что то делает)
int *p;
Значит, указатель на переменную типа int
void *p;
Значит, указатель на переменную произвольного (неопределенного) типа
Ответ от Евгений[гуру]
void, указатели на void - это все наследие Си.
void, указатели на void - это все наследие Си.
Ответ от Krab Вark[гуру]
Функция может изменять значения переменных, к которым имеет доступ через указатели или ссылки в списках параметров. Это часто применяется - аналог процедуры в Паскале или Бейсике.
Функция может изменять значения переменных, к которым имеет доступ через указатели или ссылки в списках параметров. Это часто применяется - аналог процедуры в Паскале или Бейсике.
Ответ от ASTAPP[мастер]
Вот в поскале есть функции и процедуры, вот процедуры не возвращают значений, они просто делают какое-то действие, а потом возвращают управление.
В C такими процедурами являются функции возвращающие нулевое значение.
Но в С++ есть еще куча всяких наворотов с void.
Пример можно в параметре передавать указатель на нулевой тип (void*), а при приеме привести его к любому другому типу. Это дает некую универсальность, без надобности приходить в введению шаблонов или абстрактных классов.
Вот в поскале есть функции и процедуры, вот процедуры не возвращают значений, они просто делают какое-то действие, а потом возвращают управление.
В C такими процедурами являются функции возвращающие нулевое значение.
Но в С++ есть еще куча всяких наворотов с void.
Пример можно в параметре передавать указатель на нулевой тип (void*), а при приеме привести его к любому другому типу. Это дает некую универсальность, без надобности приходить в введению шаблонов или абстрактных классов.
Ответ от Server Nyxis[активный]
например в Си есть только функции. А если тебе нужна процедура? Т. е. еслине нужно возвращаемое значение? тогда пишешь что функция должна возвраать void. Аналогично с параметрами функции - если их нет пишем void.
Есть ещё указатели. К сожалению указатель должен быть на что-то. Т. е. int*,char* и т. п. Бывают случаи, когда тип данных неизвестен. в этом случае void* - просто указатель (нетипизированный).
например в Си есть только функции. А если тебе нужна процедура? Т. е. еслине нужно возвращаемое значение? тогда пишешь что функция должна возвраать void. Аналогично с параметрами функции - если их нет пишем void.
Есть ещё указатели. К сожалению указатель должен быть на что-то. Т. е. int*,char* и т. п. Бывают случаи, когда тип данных неизвестен. в этом случае void* - просто указатель (нетипизированный).
Ответ от Кирилл ражев[мастер]
faceless void наверно
faceless void наверно
Ответ от Михайл Михайлович[активный]
void это функция! Не возвращая значения!
void это функция! Не возвращая значения!
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: C++ void - нафига он нужен?