深入浅出C++11(2) -- C++核心语言的扩充

来源:互联网 发布:中国便秘人群数据分析 编辑:程序博客网 时间:2024/06/05 20:28

C++核心语言的扩充

C++委员会的主要焦点是在语言核心的发展上。核心语言将被大幅改善的领域包括多线程(或称为“多线程”)支持、泛型编程、统一的初始化,以及性能表现的加强。


在此分成4个区块来讨论核心语言的特色以及变更: 运行期表现强化、建构期表现强化、可用性强化,还有新的功能。某些特色可能会同时属于多个区块,但在此仅于其最具代表性的区块描述该特色。


核心语言的运行期表现强化

  • 右值引用和 move 语义
  • 泛化的常数表示式
  •  对POD定义的修正

核心语言建构期表现的加强

  • 外部模板

核心语言使用性的加强

  • 初始化列表
  • 统一的初始化
  • 类型推导
  • 以范围为基础的 for 循环
  • Lambda函数与表示式另一种的函数语法
  • 对象建构的改良
  • 显式虚函数重载
  • 空指针
  • 强类型枚举
  • 角括号
  • 显式类型转换子
  • 模板的别名
  • 无限制的unions

 核心语言能力的提升

  • 变长参数模板
  • 新的字符串字面值
  • 用户自定义的字面值
  • 多任务内存模型
  • thread-local的存储期限
  • 使用或禁用对象的默认函数
  • long long int类型
  • 静态assertion
  • 允许sizeof运算符作用在类型的数据成员上,无须明确的对象
  • 垃圾回收机制