C++
C incompatibilità
Ricerca…
introduzione
Questo descrive quale codice C si romperà in un compilatore C ++.
Parole chiave riservate
Il primo esempio sono le parole chiave che hanno uno scopo speciale in C ++: il seguente è legale in C, ma non in C ++.
int class = 5
Questi errori sono facili da correggere: basta rinominare la variabile.
Puntatori debolmente tipizzati
In C, i puntatori possono essere espressi su un void*
, che richiede un cast esplicito in C ++. Quanto segue è illegale in C ++, ma legale in C:
void* ptr;
int* intptr = ptr;
L'aggiunta di un cast esplicito rende questo lavoro, ma può causare ulteriori problemi.
goto o cambia
In C ++, non puoi saltare le inizializzazioni con goto
o switch
. Quanto segue è valido in C, ma non in C ++:
goto foo;
int skipped = 1;
foo;
Questi bug possono richiedere una riprogettazione.
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow