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