Condividi tramite


Istruzione return (C++)

Viene interrotta l'esecuzione di una funzione e il controllo viene restituito alla funzione chiamante (o al sistema operativo, se il controllo viene trasferito dalla funzione main). Nella funzione chiamante, l'esecuzione riprende dal punto immediatamente successivo alla chiamata.

return [expression];

Note

La clausola expression, se presente, viene convertita nel tipo specificato nella dichiarazione di funzione, come se si eseguisse un'inizializzazione. La conversione dal tipo dell'espressione al tipo return della funzione può creare oggetti temporanei. Per ulteriori informazioni su come e quando vengono creati oggetti temporanei, vedere Oggetti temporanei.

Il valore della clausola expression viene restituito alla funzione chiamante. Se l'espressione viene omessa, il valore restituito della funzione è indefinito. I costruttori, i distruttori e le funzioni di tipo void, non possono specificare un'espressione nell'istruzione return. Le funzioni appartenenti a tutti gli altri tipi devono specificare un'espressione nell'istruzione return.

Quando il flusso di controllo esce dal blocco che include la definizione di funzione, il risultato è il medesimo che si otterrebbe se venisse eseguita un'istruzione return senza un'espressione. Ciò non è valido per le funzioni che vengono dichiarate come elementi che restituiscono un valore.

Una funzione può contenere un qualsiasi numero di istruzioni return.

Nell'esempio seguente, viene utilizzata un'espressione con un'istruzione return per ottenere il più grande tra due Integer.

Esempio

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

Vedere anche

Riferimenti

Istruzioni di spostamento (C++)

Parole chiave C++