纵横C++11标准(目录)

来源:互联网 发布:m1移动协同软件 编辑:程序博客网 时间:2024/05/27 20:51

    C++11标准正式通过,正式发布也指日可待,VS和GCC都已经为C++11标准提前做好了部分准备(有些标准仍旧为支持),希望新的标准能够得到完美的支持(比如C++03标准中的分离模板定义到现在大部分编译器也没有很好的支持,export关键字也就废了)。个人认为C++11标准中基本原则中的核心是:

  • 维持与C++原有标准和C99标准的兼容
  •  通过扩展标准库,而不是修改核心语法

     我根据自己的理解分别从不同的角度去分解新的标准,并且分为了核心语法和库两篇来分别来去解读新的C++11标准。个人理解能力有限存在一些问题,期待大家能够指正。

一、纵向视角

1      对类型的增强

1.1    POD定义修改

1.2    自动推导auto和decltype

1.3    空指针nullptr

1.4    强枚举enum class

1.5    增强的union

1.6    long long

1.7    右值引用std::move()

2      对函数的增强

2.1  新函数语法

2.2    lambda表达式

3      对类的增强

3.1    统一的初始化

3.2    初始化列表std::initalizer_list<>

3.3    构造函数继承

3.4    成员变量的初始化

3.5    显示重载

3.6    禁用和默认函数

4      对模板的增强

4.1    模板别名

4.2    外部模板

4.3    变长模板

5      编译器增强

5.1     >>不再是问题

二、横向视角

1    auto的新语义

2    using的新语义

3    新关键字decltype

4    赋值和初始化

5    语法糖

6    [[]]属性系统

7    constexpr常量表达式

8    explicit不要随便推导 

9    C99的兼容性

10被抛弃的标准