C++0x和C++11之间有什么区别

What is the difference between C++0x and C++11?

本文关键字:什么 区别 之间 C++11 C++0x      更新时间:2023-10-16

我在SO上看到这两个术语的混合用法。

维基百科称

C++11,也称为C++0x。。。

但我不知道为什么。

  • 为什么它最初被称为C++0x,然后被称为C++11
  • 另外,x代表什么?我的猜测——就像一个变量

C++和C标准通常以发布年份命名,这使其更容易被记住

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

据称,下一个标准将在2008年制定,但由于不确定,它被称为C++0x,其中x代表8或9。然而,在实践中,正如我们所知,计划发生了变化,因此我们最终使用了C++11。

尽管如此,对于下一个版本(C++1x),Bjarne Stroustrup表示他打算在5年内完成(大约在2016年)。目前,核心语言(概念、模块和垃圾收集)有一些变化,重点似乎更多地放在扩展库(例如文件系统)上,但现在还为时过早,谁知道呢!

C++0x是标准发布/最终确定之前的名称。一旦它最终确定(2011年),我们就能够正确地命名它。也就是说,C++11。

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

1998年左右,当新标准的工作开始时,没有人知道它将在哪一年完成——所以"x"代表一个未知的年份,希望它能在十年左右完成。

最终,它在2011年最终确定,因此该标准现在被通俗地称为C++11,正式名称为ISO/IEC 14882:2011。

既然这一标准已经正式生效,下一个标准的工作仍在继续;再说一遍,没有人知道什么时候能做到,但人们希望这将需要不到十年的时间,因此它被通俗地称为C++1x。