返回介绍

C++0x 将提供何种新的语言特性呢?

发布于 2025-02-26 23:19:54 字数 829 浏览 0 评论 0 收藏 0

你当然不会仅仅因为别人的一个想法,就给语言添加一个特性。事实上,关于 C++,基本上每一个最现代化的语言特性都有人向我建议过,试着想象一下,C99、C#、Java、Haskell、Lisp、Python 还有 Ada 的扩展集会是个什么样子?(译注:如果想着把这些语言的特点都集合到 C++上,那 C++就是一个四不像了)我们想问题要想的更加深入些,记住,即使标准委员会表决认为某个旧特性是不好的,完全剔除掉也是不可行的:事实表明,用户会迫使每一个开发者在兼容选项下(或默认)继续提供过时甚至已被禁止的特性达几十年。

为了试着从洪水般的建议中选择合理的建议,我们设计了一套具体的设计目标。我们不应该完全依据设计目标(?),而且它也不能完全的指导标准委员会的每个细节(而且依我所见也不可能完全)。

其结果就是,C++成为一种被大大改良过的抽象机制的语言。这个抽象的范围比起手工操作的专业代码,大大增加了,而且 C + +可以优雅,灵活,零成本的表达出来。当我们提到“抽象”的时候,人们往往只是想到“分类”或“对象”。C++0x 中远不止这些:用户自定义的类型可以清晰安全的表达出来,而且类型的范围已经随着初始化列表,统一初始化,模板别名,右值引用,默认的和删除函数(?) 特性以及可变参数模板等特性而不断增长扩大。而有些特性则简化了它们的实现,比如 auto, inherited constructors 和 decltype。这些增强功能足以使 C++0x 像一种新的语言。

已被接受的语言功能的列表,请参阅 功能列表

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文