Другие языки программирования и технологии
C++ void - нафига он нужен?
Долго пытался понять, но так и не получилось... Везде пишут, что это функция, которая ничего не возвращает или неопределённого типа, так а нафига она нужна?
void используется тогда, когда функции не надо возвращать какое либо значение. Допустим ей надо только что нибудь посчитать и вывести результат нигде не сохраняя.
Функция может изменять значения переменных, к которым имеет доступ через указатели или ссылки в списках параметров. Это часто применяется - аналог процедуры в Паскале или Бейсике.
void Function(int);
Значит, функция не возвращяет ни каких значений (но что то делает)
int Function(void);
Значит, функция не принимает никаких значений (но что то делает)
int *p;
Значит, указатель на переменную типа int
void *p;
Значит, указатель на переменную произвольного (неопределенного) типа
Значит, функция не возвращяет ни каких значений (но что то делает)
int Function(void);
Значит, функция не принимает никаких значений (но что то делает)
int *p;
Значит, указатель на переменную типа int
void *p;
Значит, указатель на переменную произвольного (неопределенного) типа
void, указатели на void - это все наследие Си.
faceless void наверно
Вот в поскале есть функции и процедуры, вот процедуры не возвращают значений, они просто делают какое-то действие, а потом возвращают управление.
В C такими процедурами являются функции возвращающие нулевое значение.
Но в С++ есть еще куча всяких наворотов с void.
Пример можно в параметре передавать указатель на нулевой тип (void*), а при приеме привести его к любому другому типу. Это дает некую универсальность, без надобности приходить в введению шаблонов или абстрактных классов.
В C такими процедурами являются функции возвращающие нулевое значение.
Но в С++ есть еще куча всяких наворотов с void.
Пример можно в параметре передавать указатель на нулевой тип (void*), а при приеме привести его к любому другому типу. Это дает некую универсальность, без надобности приходить в введению шаблонов или абстрактных классов.
например в Си есть только функции. А если тебе нужна процедура? Т. е. еслине нужно возвращаемое значение? тогда пишешь что функция должна возвраать void. Аналогично с параметрами функции - если их нет пишем void.
Есть ещё указатели. К сожалению указатель должен быть на что-то. Т. е. int*,char* и т. п. Бывают случаи, когда тип данных неизвестен. в этом случае void* - просто указатель (нетипизированный).
Есть ещё указатели. К сожалению указатель должен быть на что-то. Т. е. int*,char* и т. п. Бывают случаи, когда тип данных неизвестен. в этом случае void* - просто указатель (нетипизированный).
VOID это как пломба видио наклейку на Philips на болте круглая вставив атвертку вы нарушите её. И гарантия слетит.
void это функция! Не возвращая значения!
Т. е. ей нужно показать только принцип работы, её структуру
Здрасте. Я читал что если ввести тип void main то return не нужен,
а если я return все ровно добавлю какой будет эффект ?
а если я return все ровно добавлю какой будет эффект ?
Похожие вопросы
- Вопрос актуальности языка C++, расхождение источников. Мне нужна достоверная инфа на это счет.
- Для того чтобы программировать не нужны информатика и математика? Нафиг не нужны. Так ведь?
- Нужна ли математика программисту? На youtube все говорят, что нафиг не нужна.
- Согласны ли вы, что в школах вместо нафиг не нужной выс.математики и всякой геометрии лучше преподавать программирование
- Почему клавиша ESC так называется и нафиг она нужна?
- Помогите с информатикой. Вопрос по С++: написание функций с помощью void
- Чем отличается в c++ int main() от void main()???
- Зачем нужен C++, если есть C?
- Я программист java,c++,c#,cи, нужен ли я кому нибудь?
- Посоветуйте хорошую книгу без всяких мусорных слов, а только нужных по C++.