The Standard

[Note: As of August 2014, the C++14 standard has been approved but has not yet been published. This page will be updated when it is actually published, which will be sometime later this year.]

The current ISO C++ standard is officially known as ISO International Standard ISO/IEC 14882:2012(E) -- Programming Language C++.

Want to read the ISO C++ standard, or working drafts of the standard? You have several options, most of them free.

Where To Get the Current Standard

  • Purchase the official standard (US$60). You can purchase the official standard for US$60 at the ANSI Store. (Note: The standard at that link is technically identical to ISO 14882, just with a different cover page; each national body ratifies the ISO standard as its own national standard, and so this document’s cover page officially lists it as U.S. standard INCITS/ISO/IEC 14882-2012 -- Programming Language C++.)
  • Download the January 2012 working draft (free). Except only for the final standards/reports, all C++ committee documents are freely publicly available, including all working drafts, many of which closely approximate the published standard. The January 2012 working draft contains the C++11 standard plus minor editorial changes.

Where To Get Working Drafts

FAQs

Q: Why is the standard hard to read? I'm having trouble learning C++ from reading it.

Please note that the standard is not intended to teach how to use C++. Rather, it is an international treaty -- a formal, legal, and sometimes mind-numbingly detailed technical document intended primarily for people writing C++ compilers and standard library implementations.

Fortunately, there are lots of good books that do teach how to use C++! See these recommendations as a starting point for high-quality tutorial and reference information about how to learn and use C++.

Q: Why are the C++ working drafts freely available on GitHub when the standard must be purchased from ISO or another standards organization?

ISO holds the copyright for all working drafts of the standard, as well as the standard itself. ISO allows drafts to be made available for the purposes of standardization by those working on the committees.

The C++ committee has long made drafts available (whether on open-std.org, isocpp.org, or GitHub), allowing anyone to review drafts and provide feedback, as allowed by ISO's rules. ISO rules do not allow redistribution (whether at a cost or for free) of these documents by members of the public who do not participate in the standards committee.

The only documents that the C++ committee is not permitted to provide freely are the final published standards. The draft repository on GitHub does not contain the final source for any published standards. It contains working drafts only, and those differ in their contents from the published standards.