C++98

versione del linguaggio di programmazione C++ e delle sue librerie standard

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.

Alla 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].

  1. ^ (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»
  2. ^ (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»
  3. ^ (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.»
  4. ^ (EN) Chapter 1.4.3 The 1998 Standard, in The C++ Programming Language, 4th Edition.
  5. ^ a b (EN) Notes to the Reader 0.3.3 A brief history of C++, in Programming: Principles and Practice Using C++, 3rd Edition..
  6. ^ (EN) Bjarne Stroustrup, 5.3 The Annotated Reference Manual, in The Design and Evolution of C++, First Edition.
  7. ^ (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).
  8. ^ (EN) Value-initialization, su en.cppreference.com. URL consultato il 22 aprile 2025.

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica