Оператор return (C++)

Завершает выполнение функции и возвращает элемент управления в вызывающую функцию (или в операционную систему при передаче управления из функции main). Выполнение возобновляется в вызывающей функции в точке сразу после вызова.

Синтаксис

return [expression];

Замечания

Предложение expression, при его наличии, преобразуется в тип, указанный в объявлении функции, как если бы выполнялась инициализация. Преобразование из типа выражения return в тип функции может создавать временные объекты. Дополнительные сведения о том, как и когда создаются временные объекты, см. в разделе "Временные объекты".

Значение предложения expression возвращается в вызывающую функцию. Если выражение пропущено, то возвращаемое значение функции не определено. Конструкторы и деструкторы и функции типа voidне могут указывать выражение в инструкции return . Функции всех остальных типов должны указывать выражение в инструкции return .

Когда поток управления выходит из блока, включающего определение функции, результат совпадает с тем, что было бы, если return оператор без выражения был выполнен. Это недопустимо для функций, объявленных как возвращающие значение.

Функция может иметь любое количество return операторов.

В следующем примере используется выражение с оператором return , чтобы получить наибольшее из двух целых чисел.

Пример

// return_statement2.cpp
#include <stdio.h>

int max ( int a, int b )
{
   return ( a > b ? a : b );
}

int main()
{
    int nOne = 5;
    int nTwo = 7;

    printf_s("\n%d is bigger\n", max( nOne, nTwo ));
}

См. также

Операторы перехода
Ключевые слова