C++
(added Specifications section, not a fan of my formatting) |
|||
Line 5: | Line 5: | ||
|released=1983 | |released=1983 | ||
}} | }} | ||
− | '''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 | + | '''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! | 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 Sharp|C#]] and [[Objective-C]] are other descendants of C which take different approaches to adding object-oriented classes. | [[C Sharp|C#]] and [[Objective-C]] are other descendants of C which take different approaches to adding object-oriented classes. | ||
+ | |||
+ | == Specifications == | ||
+ | === ISO standard === | ||
+ | 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" | ||
+ | ! Date !! Common name !! Standard name !! Last working draft | ||
+ | |- | ||
+ | | unfinished || C++17 || ISO/IEC WD 14882 || [http://open-std.org/JTC1/SC22/WG21/docs/papers/2015/n4527.pdf n4527.pdf] | ||
+ | |- | ||
+ | | 2014 || C++14 || ISO/IEC 14882:2014 || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf n4296.pdf] | ||
+ | |- | ||
+ | | 2011 || C++11 || ISO/IEC 14882:2011 || [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf n3242.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. | ||
+ | {| class="wikitable" | ||
+ | ! 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. | ||
+ | * [http://clang.llvm.org/docs/LanguageExtensions.html Clang] | ||
+ | * GCC: [https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Extensions.html C++], [https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html C] | ||
+ | * [https://msdn.microsoft.com/en-us/library/34h23df8.aspx Visual C++] | ||
== See also == | == See also == | ||
Line 15: | Line 54: | ||
== Links == | == Links == | ||
− | |||
* [[Wikipedia:C++|Wikipedia article]] | * [[Wikipedia:C++|Wikipedia article]] | ||
* [http://tgceec.tumblr.com/ The Grand C++ Error Explosion Competition] | * [http://tgceec.tumblr.com/ The Grand C++ Error Explosion Competition] | ||
Line 21: | Line 59: | ||
* [https://web.archive.org/web/20130123080444/http://www.csse.monash.edu.au/~damian/papers/HTML/ModestProposal.html A Modest Proposal: C++ Resyntaxed] (archive.org copy) | * [https://web.archive.org/web/20130123080444/http://www.csse.monash.edu.au/~damian/papers/HTML/ModestProposal.html A Modest Proposal: C++ Resyntaxed] (archive.org copy) | ||
* [http://mindview.net/Books/TICPP/ThinkingInCPP2e.html Thinking in C++ 2nd Edition by Bruce Eckel (free online book)] | * [http://mindview.net/Books/TICPP/ThinkingInCPP2e.html Thinking in C++ 2nd Edition by Bruce Eckel (free online book)] | ||
+ | |||
+ | == References == | ||
+ | <references/> |
Revision as of 07:24, 7 August 2015
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 |
---|---|---|---|
unfinished | C++17 | ISO/IEC WD 14882 | n4527.pdf |
2014 | C++14 | ISO/IEC 14882:2014 | n4296.pdf |
2011 | C++11 | ISO/IEC 14882:2011 | n3242.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)