高质量C/C++编程指南

高质量C/C++编程指南

摘录 林锐先生的《高质量C/C++编程指南》 本书2001完成

  1. C++建议类的成员函数生明和定义分开,即类外定义
  2. 不提倡使用全局变量,尽量不要在头文件中出现extern这类声明
  3. 头文件的使用保证源码安全,只需要提供接口和库文件即可,还能加强类型安全检查
  4. #define易引起边际效应,即完全的文本替换导致的语义变化
  5. 对外公开的常量放在头文件中。不需要对外公开的常量放在定义文件的头部
  6. 不能在类中初始化const数据成员。因为类对象未创建时,编译器不知道成员的值是多少
  7. const数据成员的初始化只能在类构造函数的初始化列表中进行,但是这样的常量并不是我们希望的。
  8. 枚举变量不会占用对象的存储空间,在编译时被全部求值,放在符号表中
  9. 函数设计的两个要素是参数和返回值
  10. 参数设计不宜过多,顺序要可以思考设计,符合常规
  11. 可变参数的函数设计使其在编译时丧失了严格的类型安全检测
  12. 函数名字与返回值的语义不可冲突,经典反例:getchar返回值为int
  13. 不要将正常值和错误标志混在一起返回。正常值由输出参数获取,错误标志由返回输出
  14. 有时候函数不需要返回,但是为了增加灵活性和支持链式表达
  15. 函数内部实现可以注意入口对参数进行检查
  16. 单一职责原则,不宜功能复杂
  17. 尽量避免函数具有记忆功能,即相同输入和输出不应该产生不同输出
  18. 不要忘记数组和动态内存赋值
  19. 不要试图malloc/free来完成动态对象的内存管理,应该用new/delete
  20. 参数缺省值只能出现在声明中,而不能出现在定义中(两者选一也可)

并非全部,C++部分没有重点写,会有专栏详细讲解
此书的一些错误:https://book.douban.com/review/5991306/ (并不是所有的认同,但是可借鉴思考)

你可能感兴趣的:(C,c++,c语言,开发语言)