C++
C++ began as a pre-processor for C, and eventually evolved into a programming language in its own right, adding object-oriented classes to a basic syntax still derived from C. It has achieved a great deal of popularity, and has been standardized as ISO/IEC 14882.
The name refers to the "increment" operator ++ applied to C, and is not the grade the language's creator received for it as a student project!
C# and Objective-C are other descendants of C which take different approaches to adding object-oriented classes.
Contents |
Specifications
ISO standard
The final standards are only released for a purchase fee, however the working drafts are available for free.[1]
Date | Common name | Standard name | Last working draft[2] |
---|---|---|---|
unfinished | C++23 | ISO/IEC WD 14882 | n4917.pdf |
2020 | C++20 | ISO/IEC 14882:2020 | n4861.pdf |
2017 | C++17 | ISO/IEC 14882:2017 | n4659.pdf |
2014 | C++14 | ISO/IEC 14882:2014 | n4140.pdf |
2011 | C++11 | ISO/IEC 14882:2011 | n3337.pdf |
2003 | C++03 | ISO/IEC 14882:2003 | |
1998 | C++98 | ISO/IEC 14882:1998 |
The C++ Programming Language
Written by the language creator Bjarne Stroustrup, the book served as the original C++ reference before being standardized.
Date | Edition | ISBN |
---|---|---|
2013 | 4th edition | ISBN 0-321-56384-0 |
2000 | Special edition | ISBN 0-201-70073-5 |
1997 | 3rd edition | ISBN 0-201-88954-4 |
1991 | 2nd edition | ISBN 0-201-53992-6 |
1986 | 1st edition | ISBN 0-201-12078-X |
Compiler extensions
Compilers commonly include non-standard extensions that might be used.
- Clang
- GCC: C++, C
- Visual C++
See also
Links
- Wikipedia article
- The Grand C++ Error Explosion Competition
- GCC-XML: convert C++ code to XML
- A Modest Proposal: C++ Resyntaxed (archive.org copy)
- Thinking in C++ 2nd Edition by Bruce Eckel (free online book)