return 문 (C++)return Statement (C++)

함수 실행을 종료하고 컨트롤을 호출 함수(또는 main 함수에서 컨트롤을 이전하는 경우 운영 체제로)로 반환합니다.Terminates the execution of a function and returns control to the calling function (or to the operating system if you transfer control from the main function). 호출 바로 다음 지점의 호출 함수에서 실행을 다시 시작합니다.Execution resumes in the calling function at the point immediately following the call.


return [expression];


expression 절(있는 경우)은 초기화가 수행되고 있었던 것처럼 함수 선언에 지정된 형식으로 변환됩니다.The expression clause, if present, is converted to the type specified in the function declaration, as if an initialization were being performed. 식의 형식을 return 함수 형식으로 변환 하면 임시 개체가 생성 될 수 있습니다.Conversion from the type of the expression to the return type of the function can create temporary objects. 임시 개체를 만드는 방법 및 시기에 대 한 자세한 내용은 임시 개체를 참조 하세요.For more information about how and when temporaries are created, see Temporary Objects.

expression 절 값이 호출 함수에 반환됩니다.The value of the expression clause is returned to the calling function. 식을 생략하면 함수의 반환 값이 정의되지 않습니다.If the expression is omitted, the return value of the function is undefined. 생성자와 소멸자 및 형식의 함수 void 는 문에 식을 지정할 수 없습니다 return .Constructors and destructors, and functions of type void,cannot specify an expression in the return statement. 다른 모든 형식의 함수는 문에 식을 지정 해야 합니다 return .Functions of all other types must specify an expression in the return statement.

제어 흐름에서 함수 정의를 포함 하는 블록을 끝내 면 return 식이 없는 문이 실행 된 경우와 동일한 결과가 발생 합니다.When the flow of control exits the block enclosing the function definition, the result is the same as it would be if a return statement without an expression had been executed. 값을 반환할 때 선언되는 함수에는 올바르지 않습니다.This is invalid for functions that are declared as returning a value.

함수는 개수에 관계 없이 문을 포함할 수 있습니다 return .A function can have any number of return statements.

다음 예에서는 문을 포함 하는 식을 사용 하 여 return 두 개의 정수 중 가장 큰 값을 가져옵니다.The following example uses an expression with a return statement to obtain the largest of two integers.


// 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 ));

참고 항목See also

점프 문Jump Statements