电子书 编程

(中英对照)100 个 C++错误及避免方法(双语对照版)

¥2.90 已售 0
✓ 自动发货 ✓ 永久有效 ✓ 售后保障

资源介绍

C++ 是一门多范式编程语言,在计算机时代的大部分时间里一直存在。它最初是作为 “更好的 C”—— 也就是带类的 C—— 出现的,如今已发展成为一门基于国际标准且仍在积极演进的语言。在撰写本书时,C++20 标准已经发布,C++23 标准正在进行最终评审,而 C++26 标准也已在筹备之中。C++ 被广泛应用于各类项目,从微小的项目到超大型的项目都有涉及,并且适用于从新手到经验丰富的开发者等不同水平的人群,同时也应用于软件开发的大多数领域。 目前,据估计有数万亿行 C++ 代码在生产环境中运行。数十年来,无数来自不同背景的团队和数百万开发者编写了这些代码。每位 C++ 开发者对于合理的编程模式、优质的 C++ 代码以及应采用的开发方法都有自己的见解。 这些开发者编写的代码在正确性、可读性、有效性和性能等方面存在很大差异。其中大部分代码采用命令式编程范式,部分采用面向对象范式,还有少量采用函数式范式。有些代码是由新手编写的,更多的则是由专家编写的,不过这些专家未必在 C++ 的设计和实现方面是专家。大量代码是在 1998 年前的 C++ 标准化之前编写的。在那之后编写的代码可能符合某个标准,但往往看起来仍像标准化之前的形式。 本书聚焦于使用 C++ 编程时出现的若干问题。现代 C++ 通常被认为始于 C++11 标准。由于大量预现代(或经典)C++ 代码的存在,理解这些问题并对其进行修正显得至关重要。阅读本书后,程序员应能更好地识别和修正讨论过的错误。此外,对于那些未被讨论的错误,也会更容易识别和修复。深入思考这些问题,能让任何开发者更敏锐地把握这门语言以及开发过程中的一些细微之处。 读者群体 无论代码的起源、遵循的标准、采用的编程范式以及开发者的技能水平如何,都需要有人积极维护代码。需要添加新功能,修改或增强现有功能,修复漏洞,以及改善低效之处。代码库中错误泛滥,但程序仍在运行并产生有意义的结果。 本书假定读者相对而言是 C++ 开发领域的新手,可能来自个人学习、集体培训或其他编程语言背景。大多数开发者很少有机会从头开始编写一个全新的项目;因此,读者很可能会在遗留代码库中工作。你的任务将是开发新功能并解决现有问题,这些代码库可能包含数千甚至数百万行新旧代码。 你的挑战在于学习如何在这样的环境中编写 C++ 代码。C++ 很少在开放环境中开发,在开放环境中开发者可以自主做出所有决策。这种环境与学习 C++ 编程的环境不同,因为公司或团队会制定各种规则、风格指南、命名惯例以及其他参数。此外,代码库还会确定可接受的架构模式、命名惯例、使用指南以及常见问题的解决方案。如果这种责任听起来不像是实际的 C++ 编码工作,那你的直觉是正确的。 本书组织结构:路线图 《100 个 C++ 错误及避免方法》第一部分中的错误代表了对 C++ 的误用,开发者可以通过采用许多较新的语言和标准模板库特性来改进代码和技术。第 2 章重点介绍类和数据类型,强调类设计和智能指针。第 3 章涵盖一般编程陷阱和可能需要更多利用的语言特性。第 4 章聚焦于 C++ 的一些较新变化以及一些使常见问题更易于管理的技术。 鉴于 C++ 在历史上源于 C 语言,本书第二部分中的错误代表了那些悄然渗入现代 C++ 的问题。许多此类错误可以通过现代 C++ 处理为开发者带来极大益处。第 5 章关注那些不知不觉进入 C++ 的习惯和做法,尽管有更优的方法可供选择。第 6 章聚焦于早期 C++ 编程中流行但在当前一些代码库中仍然存在的不良做法。 第三部分中的错误代表了在遗留代码库中常见的问题,对于这些问题,开发者缺乏现代技术的支持。有几个问题可以得到改进,代码质量也可以得到提升。第 7 章聚焦于良好类设计的问题以及构建健壮类的一些问题。第 8 章聚焦于与良好类设计相关的其他细节以及可能导致设计失败的问题。第 9 章聚焦于几个操作和类,这些操作和类在处理不当的情况下会意外地引发困难。第 10 章聚焦于系统资源处理以及处理不当所引发的一些问题。第 11 章聚焦于源于函数和参数使用的问题。第 12 章聚焦于使用预现代 C++ 进行常规编码时出现的问题。