Etichette rientranti in C

3

Ho notato che nel Vim le etichette vengono automaticamente trattate in modo non intuitivo (IMHO).

int main(void) { 
    goto end;

end:
    return 0
}

Esistono linee guida di stile per le etichette?

Per i deboli di cuore, i goto che sto usando sono per la gestione degli errori in un modo controllato e strutturato .

    
posta tskuzzy 06.06.2012 - 20:17
fonte

4 risposte

7

Questo è il modo standard per far rientrare le etichette.

    
risposta data 06.06.2012 - 20:19
fonte
4

Ho visto questo usato per gli specificatori di accesso sintatticamente identici in C ++. È una buona cosa: rende le etichette molto visibili, che dovrebbero essere davvero.

    
risposta data 06.06.2012 - 20:19
fonte
4

È stato l'utilizzo delle etichette non indirizzate in tutte le lingue che ho utilizzato (incluso ASM e FORTRAN in forma fissa dov'era obbligatorio). L'unica variazione che ho visto è che l'indifferente può essere la metà del solito trattino. Nel tuo caso, sarebbe stato:

int main(void) { 
    goto end;

  end:
    return 0
}

(l'etichetta case in switch in C e C ++ viene spesso rientrata nello stesso modo, ma non è così universale)

    
risposta data 06.06.2012 - 21:42
fonte
1

Il mio punto di vista è che le etichette dovrebbero essere unindient - e questo è quello che faccio quando scrivo C.

Le etichette non sono eseguibili, sono più vicine alle dichiarazioni di funzioni di qualsiasi altra cosa (in quanto contrassegnano un nuovo punto di esecuzione) e non indentate le dichiarazioni di funzione, vero?

Ma alla fine è una questione di gusti. Penso che sia facile individuare le etichette e il loro scopo se non sono interessati.

    
risposta data 06.06.2012 - 23:43
fonte

Leggi altre domande sui tag