Тип повернення значення функції

У програмуванні тип повернення значення (англ. return type) або тип результату (англ. result type) визначає і накладає обмеження на тип даних, що повертається методом або функцією. У багатьох мовах програмування(особливо це стосується мов із статичною типізацією, як Java, C++ та C) тип, що повертається, повинен вказуватись при оголошенні функції.

Реалізації

C

У мові C для повернення значень використовується оператор return, або значення за замовчуванням при автоматичному завершенні роботи функції після її закриваючої фігурної дужки. При цьому в функції може бути декілька операторів return, які можуть викликатися в залежності від заздалегідь заданих умов.

Всі типи функцій, крім типу void повертають значення, визначене виразом в операторі return. Стандарт C89 допускав виконання оператора return без вказівки вираження всередині функції, тип якої відмінний від void, і в цьому випадку відбувалося повернення будь-якого довільного значення. Але стандарт C99 вже регламентував обов'язкове зазначення типу, що повертається. Тобто, якщо є вказівка, що функція повертає якесь значення, то воно повинно бути заздалегідь зазначено для оператора return. У цьому випадку виконання функції, яка не належить до типу void, повертає довільне значення.

Також у мові C передбачена можливість повернення функцією вказівника. Щоб функція мала можливість повернути вказівник, вона повинна бути оголошена як функція, що повертає вказівник на потрібний тип. Тобто, тип покажчика, що повертається, повинен декларуватися явно.

Java

Приклад на мові Java:

public int someMethod()

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

public void returnNothing()

Дивитись також

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.