C++98
Lo standard ISO/IEC 14882:1998, comunemente conosciuto come C++98, Programming Languages — C++, è la prima versione ufficiale del linguaggio di programmazione C++ e delle sue librerie standard. È stato definito dal gruppo di lavoro JTC1/SC22/WG21, pubblicato nel 1998 con una revisione minore[1] che corregge alcuni difetti pubblicata nel 2003. Svariati aggiornamenti allo standard sono stati prodotti negli anni successivi, partendo con l'importante[2][3] versione rilasciata il 1º settembre 2011, denominata C++11.
Storia
modificaAlla fine degli anni 80, dopo l'adozione di C++ da svariate compagnie, iniziò a farsi strada l'idea di una standardizzazione del linguaggio[4]. Sulla base di questa spinta, nel 1990 Bjarne Stroustrup con Margaret Ellis scrisse il testo "The annotated C++ Reference Manual (riferito a volte come "The ARM")[5].
Il libro presentava le funzionalità del linguaggio finora rilasciato (la versione 2.0) con alcune aggiunte e delle anteprime di funzionalità che sarebbero state finalizzate con le versioni successive, principalmente i template, le eccezioni, le classi annidate, overload separati per gli operatori ++ e -- e il qualificatore volatile[6].
Il documento divenne la base dello standard del 1998[5].
Lo standard del 2003 rimpiazzò la versione 1998, apportando alcune modifiche orientate all'implementazione interna del linguaggio[7]: in pratica l'unica aggiunta visibile fu l'aggiunta del concetto di 'value initialization'[8].
Note
modifica- ^ (EN) Bjarne Stroustrup, Chapter 1, 1.4.3 The 1998 Standard, in The C++ Programming Language, 4th Edition.«A "bug fix release" of this standard was issued in 2003, so you sometimes hear people refer to C++03, but that is essentially the same language as C++98»
- ^ (EN) Bjarne Stroustrup, Notes to the Reader 0.3 ISO standard C++, in Programming: Principles and Practice Using C++, 3rd Edition.«C++11 was a significant upgrade that added improved facilities for compile-time computation (§3.3.1), lambdas (§13.3.3, §21.2.3), and formalized support for concurrency»
- ^ (EN) Stanley B. Lippman, Josée Lajoie e Barbara E. Moo, Preface, in C++ Primer, Fifth Edition.«In 2011, the C++ standards committee issued a major revision to the ISO C++ standard.»
- ^ (EN) Chapter 1.4.3 The 1998 Standard, in The C++ Programming Language, 4th Edition.
- ^ a b (EN) Notes to the Reader 0.3.3 A brief history of C++, in Programming: Principles and Practice Using C++, 3rd Edition..
- ^ (EN) Bjarne Stroustrup, 5.3 The Annotated Reference Manual, in The Design and Evolution of C++, First Edition.
- ^ (EN) Bjarne Stroustrup's FAQ – What is the difference between C++98 and C++03?, su stroustrup.com. URL consultato il 22 aprile 2025 (archiviato dall'url originale il 6 febbraio 2016).
- ^ (EN) Value-initialization, su en.cppreference.com. URL consultato il 22 aprile 2025.
Collegamenti esterni
modifica- (EN) ISO/IEC 14882:1998 - Programming languages — C++, su iso.org. URL consultato il 22 aprile 2025.
- (EN) ISO/IEC 14882:2003 - Programming languages — C++, su iso.org. URL consultato il 22 aprile 2025.
- (EN) The C++ Standards Committee, su open-std.org.