Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ISO C++ standard draft

In the ISO standard C++ : the latest working draft is n3291 ,it is not publicly available. But n3290 is Available. up-to February the draft is n3242. May i know now .. which draft is more correct to become an final draft? Because there are many differences in n3242 compared with n3290 ?

in this link also they gave ..: current working draft as n3242 ? (why not n3290)

http://www.open-std.org/jtc1/sc22/wg21/

http://en.wikipedia.org/wiki/C%2B%2B0x

please tell me which draft is correct one to follow (till the final draft release ) ?

like image 330
user751747 Avatar asked Aug 30 '11 05:08

user751747


People also ask

What is ISO C?

The ANSI/ISO C Specification Language (ACSL) is a specification language for C programs, using Hoare style pre- and postconditions and invariants, that follows the design by contract paradigm. Specifications are written as C annotation comments to the C program, which hence can be compiled with any C compiler.

What is new in C11?

C11 eliminates these hacks by introducing two new datatypes with platform-independent widths: char16_t and char32_t for UTF-16 and UTF-32, respectively (UTF-8 encoding uses char, as before). C11 also provides u and U prefixes for Unicode strings, and the u8 prefix for UTF-8 encoded literals.

What is the latest c standard?

What is C standard? The latest C standard is ISO/IEC 9899:2018, also known as C17 as the final draft was published in 2018. Before C11, there was C99. The C11 final draft is available here.

Where can I find C++ standards?

The site https://wg21.link/ provides short-URL links to the C++ current working draft and draft standards, and committee papers: https://wg21.link/std11 - C++11. https://wg21.link/std14 - C++14. https://wg21.link/std17 - C++17.


2 Answers

For a while, n3291 was available from the obvious URL (just search and replace n3242 with n3291 in the Wikipedia link). But I guess somebody decided that was too close to the final version so it is no longer accessible.

Thus Wikipedia does not link to it because there is nothing to link to.

I did stash away a copy of n3291 while it was available. I have not done an exhaustive search, but there appear to be no substantive changes; only clarifications. For example, section 1.8 (6) of n3242 reads:

Unless an object is a bit-field or a base class subobject of zero size, the address of that object is the address of the first byte it occupies. Two distinct objects that are neither bit-fields nor base class subobjects of zero size shall have distinct addresses.

While the same section of n3291 reads:

Unless an object is a bit-field or a base class subobject of zero size, the address of that object is the address of the first byte it occupies. Two objects that are not bit-fields may have the same address if one is a subobject of the other or if at least one is a base class subobject of zero size and they are of different types; otherwise, they shall have distinct addresses.

(n3291 uses red strike-through and underlined blue text to highlight changes from n3242, so it was not hard to find this example.)

If someone can make a convincing argument that it would be legal for me to re-publish n3291, I would be happy to make it available. I certainly did not have to enter any password or even click on an agreement before downloading it...

[Update: In my first version of this answer, I wrote "n3290" when I meant "n3291". Kind of weird that the "working draft" has a higher number than the "final version". Anyway, what was freely available for a while was n3291.]

[Update 2: N3337 is an initial draft of the next C++ standard, and it is very similar to the C++11 final standard. See:

Do section numbers differ between the C++11 standard and the gratis draft N3337?

So you have your choice of free drafts; the last one before the official standard (N3242), and the first one after it (N3337). All appear to use the same paragraph numbering.]

like image 147
Nemo Avatar answered Sep 30 '22 15:09

Nemo


The difference between N3290 and N3291 is the title page. N3291 says "Working Draft;" the other one doesn't. Other than that, they say the same thing.

Sadly, neither is available online due to ISO issues. The final standard will probably only contain fairly minor changes from N3290, so they're too close to final to publish. Especially considering that N3291 was voted as the FDIS.

like image 25
Nicol Bolas Avatar answered Sep 30 '22 15:09

Nicol Bolas