最近在法兰克福举行的ISO C++标准会议上,C++标准委员会明确指出,将concepts特性从C++0x中移除。也就是说,concepts将不会成为C++0x的标准库。委员会表示,虽然对大多数C++程序员来说有些失望,但concepts特性的移除并不会对他们造成影响。C++0x仍然是有效地语言,具有明显的优势。标准委员会的目的是为了将风险和维护成本降到最低。
C++编程语言的作者Bjarne Stroustrup在一篇文章中谈论了新一代C++标准(通常指C++0x)移除了Concepts特性。
C++0x中改进了C++的特点,大多数程序员见和直接利用均不受影响。C++0x支持并行编程,一个更好的标准库,和许多改进,使开发人员更容易写优秀的代码(高效率和可维护性)。有些人甚至感到欢欣鼓舞,认为C++0x将是一个简单、易行的语言,超出他们此前的预期。
Stroustrup表示,Concepts曾作为核心功能,为紧缩标准库和核心部分的驱动器,使泛型编程更容易提供很好的理论依据。现在,人们将不得不使用没有直接语言支持的Concepts技术。另外,即使在去除Concepts之后,新一代C++标准也不得不推迟。C++0x死掉了,我们必须等待C++1x,希望x是一个比较小的数字。C++1x将在C++98上进行大量的改进。Concepts或许将能在五年内进入C++的一个修改版,到时或许叫C++1y或C++y!
【编辑推荐】