C++编程调试秘笈
徐波 译
出版时间:2012年11月
页数:122
Vladimir Kushnir获得了USSR科学院固体物理研究所的博士学位。毕业之后,他从事实验物理研究。在西北大学和阿贡国家实验室工作时,他先后使用过FORTRAN、C和C++等编程语言。后来,他投身于华尔街的金融公司,把主要精力放在一种称为“金融分析”的计算上。他对于提升计算速度具有特别浓厚的兴趣,善于通过精心优化使计算速度实现数量级的提升。
使用C++编程时,很容易犯下各种各样的错误。事实上,任何规模超过几百行代码的程序都很可能包含了缺陷。在本书中,读者可以了解C++程序员可能产生的许多常见的编码错误,并掌握避免这些错误的规则和策略。
作者Vladimir Kushnir向我们展示了怎样使用他所开发的安全C++库。这个库有一部分建立在C++社区所开发的编程实践的基础之上。你不仅能够学习在程序的编译、运行和测试期间发现各种错误的秘诀,而且能够掌握一种使C++代码更为安全、更不易出错的全面方法。
学完本书,您将能够:
· 获取处理10种不同类型的错误的秘诀,这些错误包括内存泄漏和未初始化的变量;
· 发现C++从C所继承的问题,例如指针运算;
· 在代码中插入临时或永久的安全检查,在运行时捕捉错误;
· 应用缺陷预防技巧,例如用单独的类表示每种数据类型;
· 在代码投入生产之前,追求一种一次捕捉和修正一个缺陷的测试策略。
- 第一部分 c++的缺陷捕捉策略
- 第1章 c++的缺陷来自哪里
- 第2章 什么时候捕捉缺陷
- 2.1 为什么编译器是捕捉缺陷的最好场合
- 2.2 怎样用编译器捕捉缺陷
- 2.3 处理类型的正确方式
- 第3章 在运行时遇见错误该怎么办
- 第二部分 捕捉缺陷:一次处理一个缺陷
- 第4章 索引越界
- 4.1 动态数组
- 4.2 静态数组
- 4.3 多维数组
- 第5章 指针运算
- 第6章 无效的指针、引用和迭代器
- 第7章 未初始化的变量
- 7.1 初始化的数值(int、double等)
- 7.2 未初始化的布尔值
- 第8章 内存泄漏
- 8.1 引用计数指针
- 8.2 作用域指针
- 8.3 用智能指针实行所有权
- 第9章 解引用null指针
- 第10章 拷贝构造函数和赋值操作符
- 第11章 避免在析构函数中编写代码
- 第12章 怎样编写一致的比较操作符
- 第13章 使用标准c函数库的错误
- 第三部分 捕捉缺陷的乐趣:从测试到调试到产品
- 第14章 基本的测试原则
- 第15章 调试错误的策略
- 第16章 使代码更容易调试
- 第17章 总结
- 附录a 本书所使用的scpp库的源代码
- 附录b scpp_assert.hpp和scpp_assert.cpp文件的源代码
- 附录c scpp_vector.hpp文件的源代码
- 附录d scpp_array.hpp文件的源代码
- 附录e scpp_matrix.hpp文件的源代码
- 附录f scpp_types.hpp文件的源代码
- 附录g scpp_refcountptr.hpp文件的源代码
- 附录h scpp_scopedptr.hpp文件的源代码 附录i scpp_ptr.hpp文件的源代码
- 附录j scpp_date.hpp和scpp_date.cpp文件的源代码
书名:C++编程调试秘笈
译者:徐波 译
国内出版社:人民邮电出版社
出版时间:2012年11月
页数:122
书号:978-7-115-29695-5
原版书书名:Safe C++
原版书出版商:O'Reilly Media
Vladimir Kushnir
Vladimir Kushnir获得了USSR科学院固体物理研究所的博士学位。毕业之后,他从事实验物理研究。在西北大学和阿贡国家实验室工作时,他先后使用过FORTRAN、C和C++等编程语言。后来,他投身于华尔街的金融公司,把主要精力放在一种称为“金融分析”的计算上。他对于提升计算速度具有特别浓厚的兴趣,善于通过精心优化使计算速度实现数量级的提升。