Generated by GPT-5-mini| C++98 | |
|---|---|
![]() Jeremy Kratz · Public domain · source | |
| Name | C++98 |
| Paradigm | Multi-paradigm: Imperative programming, Object-oriented programming, Generic programming, Functional programming |
| Designer | Bjarne Stroustrup |
| Developer | International Organization for Standardization |
| First appeared | 1998 |
| Typing | Static, Weak typing |
| Influenced by | C (programming language), Simula, Algol, Ada (programming language), ML (programming language) |
| Influenced | C++11, Java (programming language), C#, Rust (programming language), D (programming language) |
C++98 is the informal name for the 1998 international standard for the C++ programming language approved by the International Organization for Standardization and the International Electrotechnical Commission. It formalized language extensions developed by Bjarne Stroustrup and standardized a large body of work from compiler vendors such as GCC, Microsoft, and EDG (company) to provide interoperability across platforms like UNIX, Microsoft Windows, and Mac OS.
The 1998 standard consolidated features from implementation practice and research communities including contributors from Bell Labs, AT&T, Digital Equipment Corporation, and Sun Microsystems. It established a committee process under ISO/IEC JTC 1/SC 22/WG21 that included representatives from ANSI, IEEE, and national bodies such as BSI and DIN. The standard influenced toolchains produced by organizations like Red Hat, Intel, and IBM and shaped curricula at universities such as Massachusetts Institute of Technology, Stanford University, and University of Cambridge.
C++98 codified language constructs used in large-scale projects by corporations including Microsoft Corporation and Siemens. It specified core language elements: the type system including const semantics used in systems like Linux kernel tooling, class definitions traced to Simula lineage, and inheritance and polymorphism patterns used in software from Oracle Corporation and Siemens AG. The standard introduced templates supporting generic programming adopted by libraries from Boost (C++ libraries) and design patterns popularized by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. It defined exception handling influenced by practices at DEC and Bell Labs, linkage rules relevant to POSIX platforms, and inline functions used in performance-sensitive code at Nokia and Motorola.
The standard library formalized containers, algorithms, and iterators that underpin frameworks by vendors such as Microsoft, Apple Inc., and Google. It standardized the Standard Template Library components—vector (C++), list (C++), map (C++)—and algorithms used in projects at NASA and European Space Agency. The I/O library, influenced by contemporary requirements from Adobe Systems and Oracle, specified streams and facets used in internationalization supported by ISO locales. Utility components such as std::pair and function objects were adopted by open-source ecosystems including GNU Project, FreeBSD, and Apache Software Foundation projects.
Conformance testing employed suites developed by vendors like Intel Corporation and research groups at University of Cambridge Computer Laboratory. The standard provided migration paths from earlier implementations such as the original compilers by AT&T Bell Labs and later processors from ARM Holdings and Intel with ABI considerations relevant to SysV ABI and Microsoft Visual C++. Compiler front-ends and back-ends from GCC, Clang, Microsoft Visual C++, and Intel C++ Compiler implemented the standard incrementally, while formal specifications influenced verification efforts at institutions like Carnegie Mellon University and ETH Zurich. The committee defined conformance categories and diagnostics that guided testing at national laboratories like Lawrence Livermore National Laboratory and Los Alamos National Laboratory.
Adoption across industry was driven by corporate engineering groups at Google, Facebook, Amazon (company), and Microsoft for systems, middleware, and application development. Educational adoption occurred at institutions such as Harvard University, Princeton University, and University of California, Berkeley where curricula incorporated the standardized language and library. The standard affected software engineering practices in large-scale projects at Siemens, General Electric, and Boeing and informed language design in successors like C++11 and C#. Conformance and portability enabled open-source ecosystems—GitHub, SourceForge—to host cross-platform projects, while standards bodies including ITU and W3C cited C++98's role in systems programming for embedded platforms such as those by ARM and MIPS Technologies.