English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

教程基础C++

Controllo di flusso C++

Funzione C++

Array e stringhe C++

Strutture dati C++

Classi e oggetti C++

Puntatore C++

Ereditarietà C++

Tutorial STL C++

Manuale di riferimento C++

Espressione goto C++

In questo articolo, imparerai l'istruzione goto, come funziona e perché dovrebbe essere evitata.

Nella programmazione C++, l'istruzione goto viene utilizzata per modificare l'ordine normale di esecuzione del programma trasferendo il controllo a un'altra parte del programma.

Sintassi dell'istruzione goto

goto label;
... .. ...
... .. ...
... .. ...
label: 
statement;
... .. ...

Nel sintassì, label è un identificatore. Quando si incontra goto label;, il programma salta al punto label: e esegue il codice sottostante.

Esempio: istruzione goto

// Questo programma calcola la media dei numeri inseriti dall'utente.
// Se l'utente inserisce un numero negativo, esso viene ignorato e
// Calcola la media dei numeri precedenti inseriti.
# include <iostream>
using namespace std;
int main()
{
    float num, average, sum = 0.0;
    int i, n;
    cout << "Massimo numero di input: ";
    cin >> n;
    for(i = 1; i <= n; ++i)
    {
        cout << "Inserisci il numero n" << i << ": ";
        cin >> num;
        
        if(num < 0.0)
        {
           // Il programma salta al punto jump
            goto jump;
        } 
        sum += num;
    }
    
jump:
    average = sum / (i - 1);
    cout << "\nMedia = " << average;
    return 0;
}

Risultato di output

Massimo numero di input: 10
Inserisci il numero n1: 2.3
Inserisci il numero n2: 5.6
Inserisci il numero n3: -5.6
Media = 3.95

Puoi scrivere qualsiasi programma C++ senza utilizzare l'espressione goto, quindi non utilizzare l'espressione goto è generalmente considerato un buona idea.

Ragioni per evitare l'uso dell'espressione goto

L'espressione goto può saltare a qualsiasi parte del programma, ma può rendere la logica del programma complessa e confusa.

Nel moderno sviluppo del software, l'espressione goto è considerata una costruzione dannosa e un cattivo abitudine di programmazione.

In molti programmi C++, può essere utilizzatoEspressioni break e continueSostituisci l'espressione goto.