C++新特性与现代编程50问
📚 共计 50 章节
01
C++11 核心特性:auto类型推导与decltype
它们如何让代码更简洁?
类型推导
C++11
02
范围for循环与初始化列表
告别传统循环的繁琐
循环
语法糖
03
nullptr与强类型枚举
解决历史遗留问题
空指针
枚举
04
右值引用与移动语义
彻底理解性能优化的关键
移动语义
性能
05
完美转发与std::forward
泛型编程的利器
转发
泛型
06
智能指针 (unique_ptr, shared_ptr, weak_ptr)
内存管理的现代方案
RAII
内存
07
Lambda表达式与std::function
函数式编程的敲门砖
匿名函数
闭包
08
可变参数模板
让模板函数接受任意数量参数
模板
变参
09
std::tuple与std::tie
打包与解包多个值
元组
解包
10
std::bind与std::placeholders
灵活绑定函数参数
绑定
函数适配
11
std::thread与std::async
开启多线程之旅
并发
线程
12
std::mutex与std::lock_guard
保护共享数据
互斥
锁
13
std::condition_variable
线程间的精准通知
条件变量
同步
14
std::atomic与内存序
无锁编程的基础
原子操作
内存序
15
std::chrono时间库
精确测量代码性能
时间
性能
16
std::random随机数库
告别rand()的糟糕时代
随机
现代
17
std::regex正则表达式
文本处理的瑞士军刀
正则
文本
18
泛型Lambda与Lambda捕获表达式
更灵活的匿名函数 (C++14)
C++14
泛型
19
constexpr函数的放松限制
编译期计算的进化 (C++14)
constexpr
编译期
20
std::make_unique
更安全的创建unique_ptr (C++14)
智能指针
C++14
21
结构化绑定
让多返回值处理更优雅 (C++17)
C++17
解构
22
if constexpr
编译期条件分支,模板编程利器 (C++17)
编译期
模板
23
折叠表达式
简化可变参数模板的展开 (C++17)
折叠
变参
24
std::optional
优雅处理可能不存在的值 (C++17)
可选
C++17
25
std::variant
类型安全的联合体 (C++17)
联合体
类型安全
26
std::any
存储任意类型的值 (C++17)
任意
类型擦除
27
std::string_view
高效字符串视图,避免拷贝 (C++17)
字符串
视图
28
并行算法库
一键让STL算法并行执行 (C++17)
并行
算法
29
文件系统库
跨平台操作文件和目录 (C++17)
文件系统
跨平台
30
std::clamp与std::gcd/lcm
数学计算的便捷函数 (C++17)
数学
工具
31
概念 (Concepts)
为模板参数加上约束 (C++20)
C++20
约束
32
范围 (Ranges) 库
声明式编程处理集合 (C++20)
范围
声明式
33
协程 (Coroutines)
异步编程的新范式 (C++20)
协程
异步
34
模块 (Modules)
告别头文件的混乱时代 (C++20)
模块
编译
35
三路比较运算符 (<=>)
自动生成比较操作 (C++20)
比较
运算符
36
std::span
数组的视图,安全且高效 (C++20)
视图
数组
37
constexpr虚拟函数与动态分配
编译期能力大爆发 (C++20)
constexpr
编译期
38
std::format
现代格式化输出,替代printf (C++20)
格式化
输出
39
std::jthread
自动join的线程,更安全 (C++20)
线程
RAII
40
std::stop_token
优雅停止线程 (C++20)
停止
线程
41
std::source_location
获取源码位置信息 (C++20)
调试
源码
42
std::bit_cast与std::endian
底层位操作 (C++20)
位操作
底层
43
std::expected
更强大的错误处理机制 (C++23)
C++23
错误处理
44
std::flat_map与std::flat_set
连续存储的关联容器 (C++23)
C++23
容器
45
std::generator
协程生成器,简化迭代器编写 (C++23)
C++23
生成器
46
基于RAII的资源管理
C++的灵魂 (现代设计模式)
RAII
设计模式
47
基于策略类的设计
编译期多态 (现代设计模式)
策略
多态
48
CRTP (奇异递归模板模式)
静态多态的经典实现
CRTP
静态多态
49
移动语义与拷贝省略
减少不必要的拷贝 (性能优化)
移动
优化
50
使用CMake与Conan管理项目
构建现代C++项目 (工程实践)
CMake
Conan