C ++ 0x和C ++ 11有什么区别?

我在这里看到这两个术语的混合使用。

维基百科说

C ++ 11,也被称为C ++ 0x …

但我不知道为什么。

  • 为什么它首先被称为C ++ 0x,然后C ++ 11?
  • 另外,x代表什么? 我的猜测 – 像一个variables?

C ++和C标准通常以发布年份来命名,这使得它更容易记住。

例如,在C ++中,最初的标准是在1998年发布的,所以我们讨论C ++ 98,当我们提到2003年发布的第一次修正时,我们讨论C ++ 03。

据说下一个标准将在2008年完成,但由于不确定,因此被称为C ++ 0x,其中x代表8或9.实际上,虽然我们都知道,规划转移,所以我们最终与C + + 11。

尽pipe如此,对于下一个版本(C ++ 1x),Bjarne Stroustrup表示他打算在5年内(大约在2016年)这样做。 目前,核心语言(概念,模块和垃圾收集)已经发生了变化,重点似乎更多地放在扩展库(例如文件系统)上,但是现在还为时尚早!

C ++ 0x是标准在发布/定稿之前的名称。 一旦完成(2011年),我们就能正确地命名它。 那就是C ++ 11。

新标准开始工作的时候,大约在1998年左右,没有人知道哪一年会定下来,所以这个“x”是一个未知的年份,希望在十年左右之内能够定案。

最终,它在2011年完成,所以现在这个标准现在被称为C ++ 11,正式被称为ISO / IEC 14882:2011。

现在这个标准是正式的,下一个工作还在继续。 再次,没有人知道什么时候可以完成,但是希望不到十年,所以俗称C ++ 1x。

因为该标准计划在200x发布/批准,但实际上在2011获得批准。