能看到这里,说明各位读者既准备探索高阶方法论,也愿意"亲自动手"来控制内存管理流程 —— 明智的选择!既然要编写高层抽象代码,又要深入底层实现,那先要确保各位了解以下关键事项,以免陷入困境或写出看似可行实则存在问题的代码。
本章将重点探讨贯穿全书的C++编程注意事项,这些内容需要各位特别留心。虽然看似一本(精简版的)“危险操作集锦”,但请将其视为安全运用高风险特性的指南。使用C++享有高度的表达自由的同时,也需要驾驭那些强大却需谨慎使用的特性。我们的目标是编写整洁高效的代码,成为负责任的开发者。
本章将涵盖以下要点:
了解C++代码中常见的隐患陷阱。编译器无法可靠诊断所有问题,C++标准也并未规定某些操作的明确行为,这类代码往往会导致灾难性后果 —— 至少有出人意料、缺乏移植性的行为。
重点剖析指针使用的风险边界。鉴于本书聚焦内存管理,指针和指针算术将频繁出现,准确辨别其恰当与不当用法。
最后探讨不借助类型转换(第3章)就能实现的隐式类型转换,以及为何这些操作(与普遍认知相反)鲜有合适的使用场景。
我们的核心目标是认知应该规避的操作(后续偶尔会接触类似技术),并理解其规避原因。厘清这些边界后,就有充足篇幅来探讨最佳实践了!