Skip to content

B.1 - C++11

C++11 是什么?

2011年8月11日,ISO (国际标准化组织) 通过了C++的新版本——C++11。C++11 为C++语言添加了一系列全新的特性!是否使用这些新功能是可选的——但毫无疑问,你会发现其中一些功能是非常有用的。教程都已更新为C++ 11兼容。

C++ 11的设计目标

Bjarne Stroustrup 这样描述C++11的目标:

  • 扬长避短——扩大C++的优势而不是试图将C++扩展到它可能较弱的新领域(例如有大量GUI的Windows应用程序),专注于让它更好地做它擅长的事情。
  • 使C++更容易学习、使用和教授——提供使语言更一致和更容易使用的功能。

为此,编写该语言的委员会试图遵守以下基本原则:

  • 尽可能保持稳定性以及与旧版本C++和C的兼容性。在C++03能够工作的程序仍然应该可以在C++11下工作。
  • 将核心语言的扩展数量保持在最低限度,并将大部分的更改放在标准库中(这个目标在这个版本中没有很好地实现)
  • 专注于改进抽象机制(类、模板),而不是添加机制来处理特定的、罕见的情况。
  • 为新手和专家添加新的功能。给每个人一点好处!
  • 提高类型安全,防止无心的错误。
  • 提高性能,并允许C++直接与硬件协同工作。
  • 考虑可用性和生态系统问题。C++需要与其他工具很好配合,易于使用和教授,等等。

C++ 11在主旨思想上与C++03相差不大,但它确实增加了大量的新功能。

C++11中的重要新特性

这里是C++ 11添加的主要特性的列表。请注意,这个列表不是全面的,而是旨在突出一些感兴趣的关键特性。

C++标准库中还有许多新类可供使用。