C++
(→ISO standard: updated latest working draft link) |
(→Specifications: new version) |
||
(2 intermediate revisions by one user not shown) | |||
Line 15: | Line 15: | ||
The final standards are only released for a purchase fee, however the working drafts are available for free.<ref>https://isocpp.org/std/the-standard</ref> | The final standards are only released for a purchase fee, however the working drafts are available for free.<ref>https://isocpp.org/std/the-standard</ref> | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! Date !! Common name !! Standard name !! Last working draft | + | ! Date !! Common name !! Standard name !! Last working draft<ref>http://en.cppreference.com/w/Cppreference:FAQ#Which_revision_of_the_C.2B.2B_Standard_does_this_reference_adhere_to.3F</ref> |
|- | |- | ||
− | | unfinished || C++ | + | | unfinished || C++23 || ISO/IEC WD 14882 || [https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/n4917.pdf n4917.pdf] |
|- | |- | ||
− | | | + | | 2020 || C++20 || ISO/IEC 14882:2020 || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/n4861.pdf n4861.pdf] |
|- | |- | ||
− | | 2011 || C++11 || ISO/IEC 14882:2011 || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ | + | | 2017 || C++17 || ISO/IEC 14882:2017 || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf n4659.pdf] |
+ | |- | ||
+ | | 2014 || C++14 || ISO/IEC 14882:2014 || [https://github.com/cplusplus/draft/blob/master/papers/n4140.pdf?raw=true n4140.pdf] | ||
+ | |- | ||
+ | | 2011 || C++11 || ISO/IEC 14882:2011 || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf n3337.pdf] | ||
|- | |- | ||
| 2003 || C++03 || ISO/IEC 14882:2003 || | | 2003 || C++03 || ISO/IEC 14882:2003 || |
Latest revision as of 18:16, 17 November 2022
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 |
[edit] Specifications
[edit] 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 |
[edit] 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 |
[edit] Compiler extensions
Compilers commonly include non-standard extensions that might be used.
- Clang
- GCC: C++, C
- Visual C++
[edit] See also
[edit] 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)