The Standard

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

Where to get the current standard (C++17)

Purchase the C++17 official standard. You can purchase the official standard at the ISO Store or at national body stores such as the ANSI store.

Where to find related materials (in-progress C++20)

The in-progress LaTeX source materials are maintained on GitHub. Check out the repo to get the current snapshot. Note that this does not correspond to the final text of any published standard, but it can be used for general unofficial reference to answer basic questions about C++.

Also see sites like and, which are not authoritative but also can be used for general unofficial reference to answer basic questions about C++.


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

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 materials freely available on GitHub when the standard must be purchased from ISO or another standards organization?

ISO holds the copyright for all balloted and published versions of the C++ International Standard (IS) and related C++ Technical Specifications (TSes). The GitHub repo contains the incremental in-progress working source snapshots as they are edited, which may frequently be in an inconsistent in-progress state as edits are applied, and which does not contain the final source for any published standards.