什么是c ++ 0x的官方名称?

时间:2011-01-31 22:47:02

标签: c++ c++11

据我所知,今年应该接受标准。那么,它会是c ++ 11吗?

3 个答案:

答案 0 :(得分:11)

[ED:自从提出这个问题以来,C ++标准已经发布了。在我的回答中,我已经将过去时态改为现在时,并对自释放以来澄清的事情进行了详细阐述。]

根据标准的语言名称是C ++。为了区别于标准的其他版本,它有时称为C ++ 11,但这不是它的正式名称。以前的版本通常被称为C ++ 03或C ++ 98,但在StackOverflow上的转换中,“C ++”本身通常意味着C ++的当前版本,无论发生什么情况。

C ++ 0x只是一个占位符标识符,用于在发布之前引用标准的预发布版本,以便将其与其他版本区分开来。今天我们有一个新版本正在讨论;该版本目前被称为C ++ 1y。

关于0x部分,这是Bjarne Stroustrup所说的:

  

新标准很可能被称为C ++ 11,但即使是一个较小的bureacratic延迟也可能成为C ++ 12。就个人而言,我更喜欢普通的C ++,只有当我需要将它与以前的C ++版本区分开来时才使用年份标记,例如ARM C ++,C ++ 98和C ++ 03。现在,我倾向于约定,仍然使用C ++ 0x作为下一个版本。将'x'视为十六进制。

在SO上发帖时,通常称为C ++ 11。当只使用C ++标签而没有任何消歧(例如C ++ 11或C ++ 03标签)时,会引起一些关于C ++标准版本的混淆,但通常认为C ++标签是指到目前的版本。在撰写本文时,那是C ++ 11。

答案 1 :(得分:3)

它已被批准!官方出版物需要一些时间,但在今年年底之前仍应该很好。我们现在可以开始称它为 C ++ 11

http://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/

编辑: Herb Sutter on 2011-10-10宣布新的ISO标准已发布。 ISO Press Release可以这样说:

  

ISO / IEC 14882:2011定义了编程语言并指定   实施要求。也称为C ++ 11,这就是   自1998年以来该标准的第一次重大修订。

答案 2 :(得分:2)

最后两个标准的名称为C++98C++03,因此可以假设这个标准为"C++XX".replace("XX", YearAccepted)