Dal C al C++/Introduzione: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Pietrodn (discussione | contributi)
m link
Riga 104:
== Panoramica ==
 
Il C++, come il C, ''non è completamente specificato'', nel senso che numerose espressioni sintatticamente corrette, e quindi ammesse dal compilatore, non hanno una semantica definita, e quindi in fase di esecuzione possono produrre risultati dipendenti dall'implementazione del compilatore, se non addirittura risultati variabili da un'esecuzione all'altra.
Per esempio, si consideri questo programma, valido sia in C che in C++:
void f(int a, int b) { }
Riga 114:
}
 
Nella prima istruzione della funzione "main", sia il C che il C++ non definiscedefiniscono se verrà chiamata prima la funzione "g" o la funzione "h".
 
La seconda istruzione della funzione "main" scrive all'indirizzo zero dello spazio di indirizzamento del processo.
Riga 120:
 
Le caratteristiche più importanti che il C++ aggiunge al C sono le seguenti:
* ClassiLe classi, con funzioni virtuali ed ereditarietà multipla
* Le eccezioni
* Eccezioni
* I namespace
* Namespace
* TemplateI template di classe
* TemplateI template di funzione
* LibreriaLa libreria di ingresso/uscita
* LibreriaLa libreria per gestire stringhe
* LibreriaLa libreria per gestire contenitori
 
Ecco un programma C++ che esemplifica l'utilizzo di tutte le suddette caratteristiche:
Riga 151:
 
Diciamo subito che cosa fa questo programma.
Se non riuscisse ad allocare una manciata di byte di memoria, il che è praticamente impossibile, emetteemetterebbe sulla console il messaggio d'errore "Memoria insufficente", e terminaterminerebbe.
Altrimenti, cioè quasi sicuramente, emette sulla console la scritta "Risultato: (7,15)". Tale valore rappresenta il numero complesso 7 + 15i, che si ottiene sommando 2 + 3i a 5 + 12i.