第十四章 C++11/14 核心特性
从前面的章节一路走来,我们已经穿插着见识了不少 C++11(及 C++14)的新特性,比如智能指针、右值引用与移动语义、Lambda 表达式、变参模板等。
C++11 毫无疑问是 C++ 历史上最重要、最具有划时代意义的一次标准更新。它直接让 C++ 这门语言获得了“重生”,甚至很多人把 C++11 之后的语言称为 Modern C++(现代 C++),以区别于老旧臃肿的 C++98/03。
本章我们将系统性地盘点和学习在日常编码中感受最深、最能提升代码编写体验和安全性的那些核心基础语法特性:
- auto 与 decltype:让编译器替你推导冗长的类型名。
- 范围 for 循环:告别繁琐的迭代器操作,一句话遍历容器。
- 统一初始化列表:使用大括号
{}统一全宇宙的初始化行为。 - nullptr:彻底淘汰带来安全隐患的宏定义
NULL。 - 强类型枚举类(enum class):解决传统 C 风格枚举命名污染和隐式转换的痛点。