Я не так давно изучаю C++, но никогда в то же время не обращал внимания на return. Я часто замечал, что вместо привычного мне нуля после return ставится функция. Для чего это? И что означает «функция возвращает результат» и чем отличаются void от main? Столько вопросов, но это основные для меня.
Кроме интернета, где не всегда понятно и иногда вопросов становится ещё больше, я больше не могу ни к кому обратиться,
C/C++
Я так и не понял, что означает return и почему надо ставить именно 0, а не любое другое значение. Ещё кое-что о функции.
Функция в С++, в качестве возвращаемого значения, может возвращать типизированное значение, указатель на тип или типизированную ссылку, а может ничего не возвращать.
return 0 может быть тебе привычен только в функции main, он дает знать операционной системе, что программа завершилась без ошибок, и то он там необязателен, при его отсутствии соответствующий код будет дописан компилятором автоматически.
А остальные, да и этот, вопросы - самое начало любого учебника по C++, не вижу смысла его сюда копировать.
А остальные, да и этот, вопросы - самое начало любого учебника по C++, не вижу смысла его сюда копировать.
В современных языках ошибки обрабатываются исключениями в try catch. В С еще не было исключений и все функции возвращали значение или код ошибки. 0 чаще всего означает что ошибки нет.
В математике есть функция синус. Она возвращает значение синуса. В программировании тот же смысл. Если есть функция sin, её можно вызывать так:
y = sin(x)
В результате переменной "y" будет присвоен синус числа, хранящегося в переменной "x". Если функция ничего не возвращает (void), так писать нельзя.
Интересно, каким способом надо "изучать" C++, чтоб не обращать внимания на return и не знать эту базовую тему?
y = sin(x)
В результате переменной "y" будет присвоен синус числа, хранящегося в переменной "x". Если функция ничего не возвращает (void), так писать нельзя.
Интересно, каким способом надо "изучать" C++, чтоб не обращать внимания на return и не знать эту базовую тему?
Андрей Потапов
Если честно, я обращал на это внимание, но меня тогда не интересовала его предназначенность. Весь прикол в том, что даже вводя return 7 компилятор не выдаёт никакой ошибки, что довольно удивительно для меня.
изучай джаву или шарп. проще и быстрее
Любая функция в си плюс плюс должна возвращать в caller (функцию, которая ее вызвала, чаще всего это main) какое-то значение. Если фукция вида void, она не возвращает ничего (имеет смысл делать такие функции когда эта функция например только выводит что-нибудь на экран). В остальных случаях функция либо возвращает результат своей работы (ты вызвал функцию и передал ей два параметра, она их сложила и вернула результат)
Похожие вопросы
- Возвращение функции return func(); (Си)
- Почему именно return 0;? Почему не return 5, 6, 10 например? Результат программы будет отличаться и как?
- Кто нибудь, объясните мне нормально, ясно, на русском, зачем нужен return 0 в с++?
- Лютый препод не унимается. Просит без ООП написать функцию обмена значениями переменных любого типа!
- Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде
- Язык С почему при обращении к отдельным символам массива/строкам, а именно str[0-1] то есть индекс -1 выводит значение 0
- Зачем нужно писать int около main(), return 0, void main в c++?
- Помогите понять код : return NOD(y, x%y)
- Что такое функция RETURN в C++ простыми словами?
- Погрешности вычислений. Вычисление значений функций
Вообще же C++ -это сильно (раз в двадцать) расширенный C, поэтому я бы посоветовал сначала изучить С, а потом уже переходить к C++. Недаром автор С++ писал, что С++ не должен быть первым языком при изучении программирования. Это язык профессионалов, рассчитанный на профессионалов, сделанный по принципу "два пишем, три в уме" ;)
А если и чистый С покажется слишком сложным, надо спуститься еще на одну ступеньку и начинать с Паскаля :)
C++ разработан, что бы ни говорил его автор Страуструп, как расширение С. И примитивные средства С продублированы в нем более мощными новыми, но и старые остались, так что разбираться с этим дублированием весьма запутанное дело.
"Потом" с С будет уже незачем разбираться, так как С фактически начальная часть C++. А вот наоборот - после изучения С ты уже будешь знать начало С++.