C++11 那一年。
大家忙着学新语法。
忙着把老项目拽到现代世界。
过了两年。
委员会干了一件很“工程”的事。
不推翻。
只修补。
把那些你每天都会用到的小痛点。
一个个抹平。
C++14 就是这么来的。
文章列表
[x] 泛型 lambda — auto 参数让 lambda 更灵活
语言核心(不推翻,只打磨)
[x] 初始化捕获(广义 lambda capture) — 把 move 塞进捕获列表
[x] 返回类型推导(auto 返回) — 函数也能用 auto
[x] decltype(auto) — “按原样返回”引用和值类别
[x] 放宽 constexpr(relaxed constexpr) — constexpr 终于能写循环和局部变量
[x] 变量模板 — 把“常量/配置”也做成模板
[x] deprecated 属性 — 标记过时的 API
[x] 二进制字面量 — 0b1010 更直观
[x] 数字分隔符 — 1'000'000 更易读
[x] sized deallocation(有大小的 delete) — delete 也能知道对象多大
模板与类型系统(少写 ::type)
[x] type traits 的 _t 别名 — remove_reference_t / enable_if_t 这种
[x] std::integer_sequence / index_sequence — 编译期序列,展开参数包的“尺子”
标准库增强(工程里更常用)
[x] std::make_unique — 创建 unique_ptr 的正确姿势
[x] chrono 字面量 — 100ms / 2s 写时间更像人话
[x] 字符串字面量 "..."s — 让 string 不再到处写 std::string(...)
[x] std::exchange — 交换并取旧值,一行写清状态迁移
[x] std::get(tuple) — 用类型取 tuple 元素
[x] std::quoted — 打印带引号字符串,调试日志少踩坑
[x] std::shared_timed_mutex / shared_lock — 读多写少的锁(读写锁)
[x] std::cbegin / std::cend — 一眼看出“这是 const 迭代器”