3

I am confused about what is a C++11 final standard and if there is such a thing, what are standard updates, and where is an authoritative and trustworthy source of that information.

ISO web site offers the "final standard" for purchase at their store which seems to be current as of the end of 2011.

However, the working group's web site offers multitude of "drafts" dated later than that ISO publication. The latest one I see posted on the working group's web site in November 2012 (pdf).

Does it mean that the working group has newer and updated spec for free, while ISO sells old and outdated documents for a fee? Or is it something else?

May be bere is an official link describing the relation between the documents? Official as opposed to committee members personal blog.

Vlad Didenko
  • 4,481
  • 4
  • 25
  • 34
  • 3
    As per my understanding draft versions of the standard published after the draft version which was ratified as C++11 standard in 20011(*hence the name C++11*)will be incorporated in future version of the standard that follows after c++11. In short the standards committee is already working towards the next standard post C++11, it is work in progress. ISO sells the ISO approved and ratified C++ standard which is known as C++11.C++11 standard compilers only need to be compliant to this version and not to draft versions that follow after this released standard. – Alok Save Feb 05 '13 at 03:21
  • also remark that drafts can be incomplete... actually for the c++ standard, the drafts are pretty good. other standards (e.g. stuff from the mpeg) tend to be the diff. i guess they figured out that if it's not diff, people wouldn't buy the original. – thang Feb 05 '13 at 03:24
  • @thang: In fact I am told the only difference between the final draft version of the C++ standard(*I remember it was freely available for some time before being pulled out*) and the accepted standard version is the first page which says *standard version* instead of *draft version*. – Alok Save Feb 05 '13 at 03:27
  • 1
    The one that you have to pay for, of course. – Ed S. Feb 05 '13 at 03:29
  • Related: If you want an official copy at a lower price, you can get it through ANSI instead. http://stackoverflow.com/a/9882801/179910. – Jerry Coffin Feb 05 '13 at 03:38
  • Related: If you want an free copy that is practically identical. http://stackoverflow.com/a/4653479/14065 – Martin York Feb 05 '13 at 06:17
  • Related: http://stackoverflow.com/a/83763/14065 – Martin York Feb 05 '13 at 06:19
  • Related: if you want to avoid reading the standard altogether, just ask on stackoverflow :p – thang Feb 05 '13 at 15:28

2 Answers2

7

You need to make a distinction between "works in progress" (AKA: drafts) and the actual standard, as ratified by the ISO.

C++11 is an international standard, a specific document ratified by the ISO. There were many revisions that led to the final standard that was ratified, but those are just revisions, not the final standard.

Drafts of a standard are not a standard. They are drafts, the same way as downloading a random changelist from a Git repo is not a specific version of the application. Drafts are produced as works-in-progress towards some eventual standardization. But they are not standards, which is why they are called "working draft"s (that's what's on the title page).

Only actual ratified standards can make prior standards "outdated". And even then, they're not really out of date, because compilers don't instantly and magically support the new one. Nor is code instantly upgraded to support the new standard if there are breaking changes.

In short, if you want to learn about what C++11 says, the only document that defines C++11 is ISO/IEC 14882:2011: Standard For Programming Language C++. Anything produced before or since is not C++11. Though N3337 is pretty close, save minor editorial changes.

Nicol Bolas
  • 449,505
  • 63
  • 781
  • 982
  • OK, that is clear. Basically what I am getting out of the conversation is the (a) C++11 drafts published after a last official standard should not be of interest for someone who needs to judge code features immediately (b) those drafts are drafts not for C++11 but for a revision thereof, or a completely new future C++ variant. – Vlad Didenko Feb 08 '13 at 22:09
  • Related: Looks like ISO C++ committee plans to keep the [status page updated](http://isocpp.org/std/status) - I was not aware of that site. – Vlad Didenko Oct 18 '13 at 06:31
0

The official documentation of the ISO standards process is of course available at ISO's website. This is a very generic description, as it covers subjects from ISO 9001 (process quality) to ISO/IEC 14882 (C++).

MSalters
  • 173,980
  • 10
  • 155
  • 350
  • I looked at it and did not find a good explanation of the relationship between different document types. Looks like that is work-group specific, yet I did not find anything on the subject on the committee site either. It is very unfortunate that professionals who gathered to communicate a common understanding of the language to the rest of the world ignore the need to communicate how to interpret outcomes of their work. – Vlad Didenko Feb 08 '13 at 22:17
  • @VladDidenko: That's partly explained by the fact that the people who need those documents most are directly involved in the committee. The formal reality doesn't matter too much to them. E.g. formally it's countries that vote; in reality it's a consensus amongst people. – MSalters Feb 09 '13 at 01:46
  • That would be a fine excuse if the documents would not be shown to public and so feed confusion. – Vlad Didenko Feb 10 '13 at 23:17