c++11新特性目录
前言
摘自《C++ Primer 第5版》,主要用于记录目录,方便以后查找和复习,所以详细内容并没有整理。
前面带*,表示文章中没有
重要差异总结
全新特性
- 右值引用与完美转发
- 智能指针
- lambda表达式
- 无序容器
- 移动构造函数和移动赋值
- tuple / union / bitset / enum class
关键字/语法
- =default
- auto和动态分配
- 虚函数的override指示符
- nullptr常量
- for(x : y)
目录
- long long类型化
- 列表初始化
- nullptr常量
- constexpr变量
- 类型别名声明
- auto类型指示符
- decltype类型指示符
- 类内初始化
- 定义vector对象的vector
- 范围for语句
- vector对象的列表初始化
- 容器的cbegin和cend函数
- 标准库begin和end函数
- *使用auto和decltype简化声明
- 除法的舍入规则
- 用大括号包围的值列表赋值
- 将sizeof用于类成员
- 范围for语句
- 标准库initializer_list类
- 列表初始化返回值
- 定义尾置返回类型
- 使用decltype简化返回类型定义
- constexpr函数
- 使用=default生成默认构造函数
- 类对象成员的类内初始化
- 委托构造函数
- constexpr构造函数
- 使用string对象处理文件名
- array和forward_list容器
- 容器的cbegin和cend函数
- 容器的列表初始化
- 容器的非成员函数swap
- 容器insert成员的返回类型
- 容器的emplace成员的返回类型
- *lambda表达式
- *lambda表达式中的位尾置返回类型
- shrink_to_fit
- string的数值转换函数
- 关联容器的列表初始化
- pair的列表初始化
- *无序容器
- 智能指针
- 动态分配对象的列表初始化
- auto和动态分配
- 动态分配数组的列表初始化
- *auto和动态分配
- *范围for预计不能应用于动态分配数组
- *动态分配数组的列表初始化
- *auto不能用于分配数组
- allocator::construct可使用任意构造函数
- 将=default用于拷贝控制成员
- 将=default阻止拷贝类对象
- 用移动类对象替代拷贝类对象
- 右值引用
- 标准库move函数
- 移动构造函数和移动赋值
- *移动构造函数和移动赋值是noexcept
- *移动迭代器
- *引用限定成员函数
- *function类模板
- *explicit类型转换运算符
- 虚函数的override指示符
- 通过定义类为final来阻止继承
- 虚函数的override和final指示符
- *删除的拷贝控制和继承
- 继承的构造函数
- *声明模板 类型为友元
- *模板函数别名
- *模板函数的默认模板参数
- *实例化的显示控制
- *模板函数与尾置返回类型
- *引用折叠规则
- *static_cast将左值转换为右值
- *forward函数
- *可变参数模板
- *sizeof...运算符
- *可变参数模板和转发
- *tuple类模板
- 新的bitset运算符
- 正则表达式库
- 随机数库
- *浮点数格式控制
- *noexcept指示符和表达式
- *内联命名空间
- *继承的构造函数与多重继承
- 有作用域的enum
- 说明类型用于保存enum对象
- *enmu的前置声明
- *mem_fn类模板
- *类类型union成员