Тип возвращаемого значения

В программировании тип возвращаемого значения (англ. return type) или тип результата (англ. result type) определяет и накладывает ограничения на тип данных, возвращаемых методом или функцией. Во многих языках программирования (особенно это касается языков со статической типизацией, как например, Java, C++ и Си) возвращаемый тип должен быть явно указан при объявлении функции.

Реализации править

Си править

В языке Си для возврата пользовательских значений вызвавшему коду используется оператор return, либо значение по умолчанию при автоматическом завершении работы функции после её закрывающей фигурной скобки. При этом в функции может быть несколько операторов return, которые могут вызываться в зависимости от заранее заданных условий.

Все типы функций, кроме типа void возвращают значения, указываемое выражением в операторе return. Стандарт C89 допускал выполнение оператора return без указания выражения внутри функции, тип которой отличен от void, и в этом случае происходил возврат какого-либо произвольного значения. Но стандарт C99 уже регламентировал обязательное указание возвращаемого значения. То есть, если есть указание, что функция возвращает какое-либо значение, то оно должно быть заранее указано для оператора return. При этом в случае выполнения функции, не относящейся к типу void, возвращается произвольное значение.

Также в языке Си предусмотрена возможность возврата функцией указателя. Чтобы функция могла возвратить указатель, она должна быть объявлена как возвращающая указатель на нужный тип. То есть, тип возвращаемого указателя должен декларироваться явно. Например, нельзя объявлять возвращаемый тип как int *, если возвращается указатель типа char *. В случае необходимости возврата «универсального» указателя (то есть указателя, который может указывать на данные любого типа) тип результата функции следует определить как void *[1].

Java править

Пример на языке Java:

public int someMethod()

Здесь возвращаемый тип — int (целое число). Таким образом, программа может полагаться на метод, возвращающий значение типа int. Для случаев, когда подпрограмма (функция) не возвращает никакого значения используются различные механизмы, например: возвращаемый тип void в некоторых языках программирования:

public void returnNothing()

См. также править

Примечания править

  1. * Герберт Шилдт. Полный справочник по C. — 4-е. — М.: «Вильямс», 2007. — 704 с. — ISBN 978-5-8459-1102-5.