C++

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(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:2003.
+
'''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 ==
* [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf Working draft of C++ standard]
 
 
* [[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

File Format
Name C++
Ontology
Extension(s) .cpp, .cc, .cxx, .c++, .h, .hh, .hpp
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.

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.

See also

Links

References

  1. https://isocpp.org/std/the-standard
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox