Instrução return (C++)
Finaliza a execução de uma função e retorna o controle para a função de chamada (ou para o sistema operacional, se o controle for transferido da função main
). A execução é retomada na função de chamada no ponto imediatamente após a chamada.
Sintaxe
return [expression];
Comentários
A cláusula expression
, caso exista, é convertida no tipo especificado na declaração da função, como se uma inicialização estivesse sendo executada. A conversão do tipo da expressão para o tipo return
da função pode criar objetos temporários. Para obter mais informações sobre como e quando os temporários são criados, consulte Objetos temporários.
O valor da cláusula expression
é retornado à função de chamada. Se a expressão for omitida, o valor de retorno da função será indefinido. Os construtores e os destruidores, e as funções do tipo void
não podem especificar uma expressão na instrução return
. As funções de todos os outros tipos devem especificar uma expressão na instrução return
.
Quando o fluxo de controle sai do bloco que inclui a definição de função, o resultado é o mesmo que seria se uma instrução return
sem uma expressão tivesse sido executada. Isso não é válido para funções que são declaradas como retornando um valor.
Uma função pode ter qualquer número de instruções return
.
O exemplo a seguir usa uma expressão com uma instrução return
para obter o maior de dois inteiros.
Exemplo
// 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 ));
}