C++编程调试秘笈
Vladimir Kushnir
徐波 译
出版时间:2012年11月
页数:122
Vladimir Kushnir获得了USSR科学院固体物理研究所的博士学位。毕业之后,他从事实验物理研究。在西北大学和阿贡国家实验室工作时,他先后使用过FORTRAN、C和C++等编程语言。后来,他投身于华尔街的金融公司,把主要精力放在一种称为“金融分析”的计算上。他对于提升计算速度具有特别浓厚的兴趣,善于通过精心优化使计算速度实现数量级的提升。

使用C++编程时,很容易犯下各种各样的错误。事实上,任何规模超过几百行代码的程序都很可能包含了缺陷。在本书中,读者可以了解C++程序员可能产生的许多常见的编码错误,并掌握避免这些错误的规则和策略。
作者Vladimir Kushnir向我们展示了怎样使用他所开发的安全C++库。这个库有一部分建立在C++社区所开发的编程实践的基础之上。你不仅能够学习在程序的编译、运行和测试期间发现各种错误的秘诀,而且能够掌握一种使C++代码更为安全、更不易出错的全面方法。

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