专业C++:高级技术
专业C++:高级技术
简介:
书籍《专业C++:高级技术》面向那些已经能熟练使用C++编写代码,但希望更上一层楼的开发者。如果您熟悉该语言的基础知识,但感觉尚未发挥其全部潜力——那么这本书就是为您准备的。作者阿尔乔姆·索科洛夫(Artyom Sokolov)是一位拥有10年经验的高级工程师,他分享了在初学者教材中很少见到的技巧。
本书以一系列对现代C++(C++17/20标准)关键主题的深入探讨为结构。每一章不仅包含理论,还包含可直接用于实际项目的实践示例。
您将学到什么:
- 模板与元编程——从可变参数模板到SFINAE和概念。学习编写在编译阶段工作的通用库。
- 移动语义与完美转发——理解右值引用、std::move和std::forward,以避免不必要的复制和性能损失。
- 多线程与同步——线程、互斥锁、无锁结构、std::async和并行算法。掌握编写安全的并发代码。
- 优化与性能分析——如何使用perf、Valgrind、消毒器,以及手动优化技巧:缓存局部性、内存操作、内联。
- 高级设计模式——CRTP、Pimpl、类型擦除、基于策略的设计。了解这些模式在C++中是如何具体实现的。
- 系统资源管理——内存管理(自定义分配器)、文件操作、网络套接字和异步输入/输出。
本书适合谁:
- 从Java/Python转向C++并希望掌握其深度的开发者。
- 从事高负载系统、游戏、金融应用或嵌入式软件开发的工程师。
- 学习系统编程的高年级本科生和研究生。
本书没有过多的学术抽象——每个部分都辅以实际任务:从实现自己的智能指针到编写迷你Web服务器。您获得的不仅仅是知识,更是日常工作的工具。阅读后,您将能够阅读并理解STL、Boost和现代C++库中的代码,并能自信地以高级开发人员的水平参与代码审查。
本书既适合自学,也适合作为C++高级功能的桌面参考手册。