C++0x和C++11之间有什么区别
What is the difference between C++0x and C++11?
我在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。
相关文章:
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 返回常量对象引用 (getter) 和仅返回字符串有什么区别?
- Qt:remove() 和 rmdir() 有什么区别
- 这 4 个 lambda 表达式之间有什么区别?
- 将向量作为类>(值)<向量启动和向量<类>[值]有什么区别
- typedef 枚举和枚举类有什么区别?
- &C::c 和 &(C::c) 有什么区别?
- ascii 和 unicode 在处理级别有什么区别吗?
- C 中的常量限定符和 C++ 中的常量限定符有什么区别?
- "ABC" 和 "ABC" ) 在C++中有什么区别?
- 空指针常量 (nullptr)、空指针值和空成员指针值之间有什么区别?
- 引用捕获和在 lambda 中通过引用发送参数有什么区别 (C++)
- 两种访问I2C总线的方法有什么区别?
- 两种模板示例有什么区别?
- 这两种C++语法之间有什么区别?
- lua 5.0.2 模块和 5.3.5 有什么区别?
- C++中"typedef"、"using"、"namespace"和"using namespace"有什么区别?
- std::enable_if 和 std::enable_if_t 有什么区别?