现代 C++ 实战开发指南
目录
1. 1. 基础知识与陷阱
2. 2. 并发编程
3. 3. 性能调优
4. 4. 内存管理
4.1. 智能指针
4.2. RAII 原则
4.3. 内存分配
4.4. 内存布局
4.5. 内存泄漏检测
5. 5. 网络编程
6. 6. 常用库
7. 7. 速查表
8. 参考资源
现代 C++ 实战开发指南
4.
4. 内存管理
查看页面源码
4.
4. 内存管理
C++ 提供了精细的内存控制能力,但也带来了责任。本章介绍智能指针、RAII、 内存布局、自定义分配器和内存泄漏排查工具。
Contents:
4.1. 智能指针
4.1.1. unique_ptr
4.1.2. shared_ptr
4.1.3. weak_ptr
4.1.4. make_shared vs new
4.1.5. 性能考虑
4.1.6. 智能指针选择指南
4.2. RAII 原则
4.2.1. 什么是 RAII
4.2.2. RAII 的优势
4.2.3. 常见 RAII 类
4.2.4. Scope Guard
4.2.5. RAII 与异常
4.2.6. RAII 最佳实践
4.3. 内存分配
4.3.1. 栈 vs 堆
4.3.2. new 和 delete
4.3.3. 自定义分配器
4.3.4. 内存对齐
4.3.5. 小对象优化 (Small Object Optimization)
4.3.6. 内存映射文件
4.3.7. 内存分配策略
4.4. 内存布局
4.4.1. 对象内存布局
4.4.2. 类的内存布局
4.4.3. 查看实际布局
4.4.4. 空基类优化 (EBO)
4.4.5. std::is_standard_layout
4.4.6. POD (Plain Old Data)
4.4.7. 位字段
4.4.8. union
4.5. 内存泄漏检测
4.5.1. Valgrind
4.5.2. AddressSanitizer (ASan)
4.5.3. LeakSanitizer (LSan)
4.5.4. MemorySanitizer (MSan)
4.5.5. ThreadSanitizer (TSan)
4.5.6. 代码中的内存检查
4.5.7. 智能指针调试
4.5.8. 工具对比