Оператор 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 ));
}