一、什么是C++11/C++0x
C++0x是WG21计划取代C++98/03的新标准代号,C++11是最终成为新标准的标准代号。
c++标准委员会 WG21,在2011年发布c++11标准;C语言标准委员会 WG14,在2011年发布c11标准。
二、C++11的整体设计目标
* 使得C++成为更好的适用于系统开发及库开发的语言;
* 使得C++成为更易于教学的语言(语法更加一致化和简单化);
* 保证语言的稳定性,以及和C++03及C语言的兼容性。
三、相对于C++98/03来讲C++11显著增强的性质
* 通过内存模型、线程、原子操作等来支持本地并行编程(Native Convurrency);
* 通过统一初始化表达式、auto、declytype、移动语义等来统一对泛型编程的支持;
* 通过constexpr 、POD等更好地支持系统编程;
* 通过内联命名空间、继承构造函数和右值引用等,以更好地支持库的构建。
四、C++11特性的分类(WG21的设计理念)
* 保持语言的稳定性和兼容性;
* 更倾向于使用库而不是扩展语言来实现特性;
* 更倾向于通用的而不是特殊的手段来实现特性;
* 专家新手一概支持;
* 增强类型的安全性;
* 增强代码执行性能和操作硬件的能力;
* 开发能够改变人们思维方式的特性;
* 融入编程世界。