注:本书参考自 《深入理解C++11:C++11新持性解析与应用》一书,其中大多数案例代码都来自书中的示例代码,本博客只进行了简单的归纳和整理 。
一、C++11新特性
C++11在C++98/03的基础上做出了大幅度的改进,通过C++11的新语法规则为我们创造了很多更有效、更便捷的代码编写方式 。
程序员可以用简短的代码来完成C++98/03中同样的功能,简单到你惊呼“天哪,怎么能这么简单”。从一些简单的数据统计上看,比起C++98/03,C++11大大缩短了代码编写量,依情况最多可以将代码缩短30%~80%。
C++11新引入的特性
其中,C++11相对于C++98/03有显著的增强,主要包括以下几点:
❑ 通过内存模型、线程、原子操作等来支持本地并行编程(Native Concurrency)。
❑ 通过统一初始化表达式、auto、declytype、移动语义等来统一对泛型编程的支持。
❑ 通过constexpr、POD(概念)等更好地支持系统编程。
❑ 通过内联命名空间、继承构造函数和右值引用等,以更好地支持库的构建。
C++11主要的新语言特性(中英文对照)
为了兼容以前的标准同时保证程序的稳定性,在C++11中对部分关键字进行了重定义,又增加了一些新的关键字。
C++11的新关键字如下
❑ alignas
❑ alignof decltype
❑ auto(重新定义)
❑ static_assert
❑ using(重新定义)
❑ noexcept
❑ export(弃用,不过未来可能留作他用)
❑ nullptr
❑ constexpr
❑ thread_local
推荐阅读《深入理解C++11 | C++11新特性解析与应用》一书,本博客只引用了书中部分内容与案例 。