技术编程|C++11常用特性:01 认识现代C++


C++ 是一个拥有用户群体相当大的语言 , 同时也在多个领域使用的语言 。 从 C++98 的出现到 C++11 的正式定稿经历了长达十年多之久的积累 。
C++11 是 C++ 的第二个主要版本(前一个是 C++98 而后一个是 C++17 , C++14则是C++11的一次小的改进 ) , 并且是从 C++98 起的最重要更新 。 它引入了大量更改 , 标准化了既有实践 , 并改进了对 C++ 程序员可用的抽象 。
C++14/17 则是作为对 C++11 的重要补充和优化 ,C++20 则将这门语言领进了现代化的大门 , 所有这些新标准中扩充的特性 , 给 C++ 这门语言注入了新的活力 。

技术编程|C++11常用特性:01 认识现代C++
本文插图

C++演进路线路
C++11是对目前C++语言的扩展和修正 ,C++11不仅包含核心语言的新技能 , 而且扩展了C++的标准程序库(STL), 并入了大部分的C++ Technical Report 1(TR1) 程序库(数学的特殊函数除外) 。
C++11关键新特性:

技术编程|C++11常用特性:01 认识现代C++
本文插图

完整C++11功能特性列表核心语言功能特性
【技术编程|C++11常用特性:01 认识现代C++】auto 与 decltype
预置与弃置的函数
final 与 override
尾随返回类型
右值引用
移动构造函数与移动赋值运算符
有作用域枚举
constexpr 与字面类型
列表初始化
委托与继承的构造函数
花括号或等号初始化器
nullptr
long long
char16_t 与 char32_t
类型别名
变参数模板
推广的(非平凡)联合体
推广的 POD (平凡类型与标准布局类型)
Unicode 字符串字面量
用户定义字面量
属性
lambda 表达式
noexcept 说明符与 noexcept 运算符
alignof 与 alignas
多线程内存模型
线程局部存储
GC 接口
范围 for (基于 Boost 库)
static_assert (基于 Boost 库)库功能特性头文件
库功能特性
原子操作库
emplace() 与其他遍及既存标准库所有部分的右值引用使用
std::unique_ptr
std::move_iterator
std::initializer_list
有状态及有作用域分配器
std::forward_list
chrono 库
ratio 库
新算法
Unicode 转换平台
thread library
std::exception_ptr
std::error_code 与 std::error_condition
迭代器改进:
std::begin
std::end
std::next
std::prev
Unicode 转换函数


    推荐阅读