2011-08-30 141 views
9

在ISO标准C++中:最新的工作草案是n3291,它不公开。但是n3290可用。截至2月份的草案是n3242。我现在可以知道哪些草案更加正确地成为最终选秀?因为n3242n3290相比有很多不同吗?ISO C++标准草案

在这个链接还他们给:..当前工作草案为n3242? (为什么不n3290

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

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

请告诉我该草案是正确的跟随(直到最终版本草案)?

+0

如果它在http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2011/上可用,则最高号码草稿是当前的工作版本(当前n3291)。 –

回答

8

有一段时间,n3291可以从明显的URL中获得(只需在维基百科链接中搜索并替换n3242n3291)。但是我想有人认为它太接近最终版本,因此它不再可用。

因此,维基百科没有链接到它,因为没有什么可链接的。

我确实在可用时存储了n3291的副本。我没有做详尽的搜索,但似乎没有实质性的变化;只有澄清。例如,第1.8节(6)n3242的读取:

除非对象是一个位字段或零 尺寸的基类子对象,该对象的地址是第一个字节它 的地址占据。两个不同的对象,既不是位字段,也不是基于零大小的类子对象,应具有不同的地址。

虽然n3291的相同部分读取:

除非对象是一个位字段或零 尺寸的基类子对象,该对象的地址是第一个字节的地址它 占据。如果一个是另一个的子对象,或者如果至少有一个是零大小的基类子对象并且它们具有不同的类型,则两个不是位域的对象可以具有相同的地址: ;否则,他们应该有不同的地址。

(n3291使用红色删除线和下划线的蓝色文字突出从n3242的变化,所以它不是很难找到这个例子。)

如果有人能做出有说服力的论据,这将是合法的对于我重新发布n3291,我很乐意让它可用。我当然没有输入任何密码,甚至没有下载它之前请点击协议...

[更新:在我的第一个答案中,当我的意思是“n3291”时,我写了“n3290”。 “工作草案”的数字比“最终版本”更高。无论如何,一段时间可以免费使用的是n3291。]

[更新2:N3337下一个 C++标准的初始草案,它与C++ 11最终标准非常相似。请参阅:

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

所以,你有你的自由草稿选择;官方标准(N3242)之前的最后一个,以及之后的第一个(N3337)。所有似乎使用相同的段落编号。]

+0

@尼莫:我可以知道你的..结论终于... :)那n3290是最好的一个还是n3242? – user751747

+1

n3291只是n3242的更新版本。正如我所说,我相信所有的变化都很小。 (就像我给出的例子,或者像在''头部的所有函数中添加“noexcept”一样。)n3242完全适用于所有人,除了最难懂的目的IMO。 – Nemo

+0

@user - N3290 **是**新标准(保存一些拼写检查和排版)。 –

1

N3290和N3291之间的区别是标题页。 N3291表示“工作草案”;另一个没有。除此之外,他们说同样的事情。

不幸的是,由于ISO问题,两者都无法在线提供。最终的标准可能只包含N3290的相当小的变化,所以它们太接近最终发布。特别是考虑到N3291被选为FDIS。

+0

@尼科尔:我需要根据n3242&n3290 .... – user751747

+0

@ user751747:需要什么他们?除非你真的拥有N3290/91,否则你可能不会得到它。所以N3242是最好的你会得到。 –

相关问题