C++: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullata la modifica di 93.51.128.146 (discussione), riportata alla versione precedente di Datolo12 Etichetta: Rollback |
→Descrizione: Espansione della sezione marcando meglio la dicotomia linguaggio-libreia dello standard, aggiunta e correzione di citazioni e collegamenti |
||
Riga 42:
== Descrizione ==
=== Linguaggio ===
La prima parte dello standard definisce le caratteristiche fondamentali del linguaggio<ref>{{Cita libro|lingua=inglese|autore=Bjarne Stroustrup|titolo=The C++ Programming Language, 4th Edition|capitolo=2.2 The Basics}}</ref>. Lo standard suddivide questa parte in argomenti<ref>{{Cita web|lingua=en|url=https://www.iso.org/standard/83626.html|titolo=ISO/IEC 14882:2024 Programming languages — C++|accesso=23 aprile 2025}}</ref><ref>{{Cita web|lingua=en|url=https://www.iso.org/obp/ui/en/#iso:std:iso-iec:14882:ed-7:v1:en|titolo=ISO/IEC 14882:2024(en) Programming languages — C++|accesso=23 aprile 2025}}</ref>:
* la dichiarazione e definizione delle [[Variabile (informatica)|variabili]], incluso il loro ciclo di vita, come sono modellate in memoria e i tipi fondamentali
* le [[Espressione (informatica)|espressioni]] e la loro grammatica, come si definiscono, come si compongono (per esempio usando gli [[Operatori in C e C++|operatori]]) e come avvengono le conversioni tra di loro
* le [[Struttura di controllo|strutture di controllo]] quali ad esempio if, for, while, break, return
* dichiarazioni e inizializzatori in generale: [[Funzione (informatica)|funzioni]], enum, [[namespace]], attributi e gli specificatori come [[Allocazione statica della memoria|static]], friend e inline
* i moduli
* le [[Classe (informatica)|classi]]
* [[Overloading|overload]] di funzioni e operatori
* i [[Programmazione generica|template]]
* le eccezioni
* le direttive del [[preprocessore]]
La sintassi di base del C++ è un estensione di quella del linguaggio C<ref name="c_comp">{{Cita libro|lingua=inglese|autore=Bjarne Stroustrup|titolo=The C++ Programming Language, 4th Edition|capitolo=44.3 C/C++ Compatibility|citazione=With minor exceptions, C++ is a superset of C}}</ref>. Alcuni punti in cui le differenze sono visibili sono la presenza di numerose parole chiave specifiche del linguaggio C++ e l'utilizzo di funzionalità specifiche come i template e i reference rvalue<ref>{{Cita libro|lingua=inglese|autore=Bjarne Stroustrup|titolo=The C++ Programming Language, 4th Edition|capitolo=44.3.1 C and C++ Are Siblings, 44.3.3 C Code That Is Not C++}}</ref>.
=== Libreria standard ===
La maggior parte dei compilatori fornisce anche un'implementazione della libreria standard, STL compresa. Esistono anche versioni indipendenti dal compilatore della STL, come ad esempio la [[STLPort]].<ref>{{Cita web |url=http://www.stlport.org|titolo=STLport: Welcome!<!-- Titolo generato automaticamente -->}}</ref>
|