Вопрос C++ Функция VOID зачем если то же самое я могу main сделать

Регистрация
5 Дек 2013
Сообщения
97
Репутация
0
Спасибо
0
Монет
0
Здравствуйте. У меня есть пример (Не задача, а пример)
Зачем мне писать

#include
Using namespace std;

void printSomething(int x) {
cout <<x;
}

int main() {
printsomethig(42);
}

Что бы вывести на экран 42 если я могу написать

#include
Using namespace std;

int main()
{
cout <<"42';
return 0;
}

Просто мне уроки всё говорят что VOIDу не надо ничего возвращать и так далее и приводит мне верхний пример. Зачем такие сложности что бы написать 42?
Или это как то по другому ещё работает? Извините если вопрос некорректен или туп, но либо я не понимаю, либо обучалка не объясняет...
 
Этот пример лишь для того что бы показать как работает функция. Примеры обычно тупые, для того что бы доперли люди. Привыкайте что будут такие тупые примеры. Смысл не в том что бы вывести это число 42, а в том что бы показать для чего такая функция например может пригодится. А void функция может пригодится для какого нибудь действия (в данном случае пишет число на экран) и не возвращает результат.
 
воид это тип возвращаемого значения. можно написать строку с названием функции так int printSomething(int x) {, но тогда тело функции должно быть return x, типа она возвращает число. в твоем же примере функция печатает на экран, но значения никакого не возвращает, поэтому её тип воид.
 
функции полезны тогда, когда некий код объединен какой-то задачей, чтобы логично разбивать исходный код на подзадачи + тогда, когда нужны многократные вызовы из разных частей программы одного и того-же кода, но, возможно, с разными параметрами. В таких откровенно простых программах - Вы конечно никакой пользы не будете ощущать. Тем более этом случае у Вас просто короткий пример, чтобы показать синтаксис и как работает, а не руководство к действию. P.S: Mail.ru Ответы обрезают всё, что считают похожим на теги HTML, в частности страдают программы на C++. Уже писали разрабам много раз - "всем пофиг". Привыкайте =) Питонистам тут вообще ад =) Если код большой - можете кидать на pastebin.com или ideone.com, а можете ставить пробелы после < и перед >
 
надо уметь разбивать задачу на подзадачи. и уметь доказывать необходимость совместного написания или выноски в отдельную функцию/процедуру
 
Назад
Сверху