return (Instrucción) (C++)return Statement (C++)

Finaliza la ejecución de una función y devuelve el control a la función de llamada (o al sistema operativo si se transfiere el control de la función 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). La ejecución se reanuda en la función de llamada, en el punto que sigue inmediatamente a la llamada.Execution resumes in the calling function at the point immediately following the call.

SintaxisSyntax

return [expression];

ComentariosRemarks

La cláusula expression, si está presente, se convierte al tipo especificado en la declaración de función, como si se realizara una inicialización.The expression clause, if present, is converted to the type specified in the function declaration, as if an initialization were being performed. Conversión del tipo de la expresión a la devolver tipo de la función puede crear objetos temporales.Conversion from the type of the expression to the return type of the function can create temporary objects. Para obtener más información acerca de cómo y cuándo se crean objetos temporales, vea objetos temporales.For more information about how and when temporaries are created, see Temporary Objects.

El valor de la cláusula expression se devuelve a la función de llamada.The value of the expression clause is returned to the calling function. Si se omite la expresión, el valor devuelto de la función es indefinido.If the expression is omitted, the return value of the function is undefined. Los constructores y destructores y funciones de tipo void, no se puede especificar una expresión en el devolver instrucción.Constructors and destructors, and functions of type void,cannot specify an expression in the return statement. Las funciones de todos los demás tipos deben especificar una expresión en el devolver instrucción.Functions of all other types must specify an expression in the return statement.

Cuando el flujo de control sale del bloque que incluye la definición de función, el resultado es el mismo, como sería si un devolver hubiera ejecutado la instrucción sin una expresión.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. Esto no es válido para las funciones que se declaran como si devolvieran un valor.This is invalid for functions that are declared as returning a value.

Una función puede tener cualquier número de devolver instrucciones.A function can have any number of return statements.

En el ejemplo siguiente se usa una expresión con un devolver instrucción para obtener el mayor de dos enteros.The following example uses an expression with a return statement to obtain the largest of two integers.

EjemploExample

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

Vea tambiénSee also

Instrucciones de saltoJump Statements
Palabras claveKeywords