前面介绍了C++基础知识,目前的C++的新语法风格与旧的可能会完全不同,给我们机会更方便的写代码,本部分将会对新的内容进行介绍。
推荐网站:
C++官方网站这是原作者喜欢,比较好的查看C++语法的网站(11,14是普遍使用的)
本栏目大纲:现代 C++ 教程: 高速上手 C++ 11/14/17/20,本书介绍的也不是特别细致,本栏目会以该目录为原型结合实际进行详细讲解。
引言
C++ 算是一个用户群体比较大的语言了,从 C++ 98 到 C++ 11 经历了长达十年多之久的积累,C++ 14 则是作为对 C++ 11 的重要补充和优化,所有这些新标准中扩充的特性,给 C++ 这门语言注入了新的活力。
那些还在坚持使用 传统 C++ ( C++ 98 及其之前的 C++ 特性均称之为传统 C++)而未接触过 C++ 11 / 14 的 C++ 程序员在见到诸如 Lambda 表达式这类全新特性时,甚至会流露出『学的不是同一门语言』的惊叹之情。
C++ 1x (指 C++ 11 / 14 / 17) 为传统 C++ 注入的大量特性使得整个 C++ 变得更加像一门现代化的语言。
目录
目录中比较重要的部分为: 语言运行期的强化
和智能指针和内存管理
关键点
语言可用性的强化
-
nullptr
与constexpr
-
类型推导
auto
decltype
- 尾返回类型、
auto
与decltype
配合
-
区间迭代
- 基于范围的 for 循环
-
初始化列表
std::initializer_list
- 统一初始化语法
-
模板增强
- 外部模板
- 尖括号
>
- 类型别名模板
- 变长参数模板
-
面向对象增强
- 委托构造
- 继承构造
- 显式虚函数重载
override
final
- 显式禁用默认函数
-
强类型枚举
语言运行期的强化
-
lambda 表达式
- lambda 表达式基础
- 值捕获
- 引用捕获
- 隐式捕获
- 表达式捕获
- 泛型 lambda
- lambda 表达式基础
-
函数对象包装器
- std::function
- std::bind/std::placeholder
-
右值引用
-
左值、右值的纯右值、将亡值、右值
-
右值引用和左值引用
-
移动语义
-
完美转发
-
容器
-
std::array
-
std::forward_list
-
std::unordered_set
-
std::unordered_map
-
std::tuple
-
基本操作
-
运行期索引
-
合并与迭代
-
智能指针与内存管理
- 引用计数
std::shared_ptr
std::make_shared
std::unique_ptr
std::weak_ptr
正则表达式
-
正则表达式简介
- 普通字符
- 特殊字符
- 限定符
-
std::regex及其相关
-
std::regex
-
std::regex_match
-
std::match_results
-
并行与并发
std::thread
std::mutex
std::unique_lock
std::future
std::packaged_task
std::condition_variable
其他杂项
- 新类型
long long int
noexcept
的修饰和操作- 字面量
- 原始字符串字面量
- 自定义字面量
学习笔记地址:c++11 & 14 & 17