C++实践忠告

来源:互联网 发布:2016linux运维面试题 编辑:程序博客网 时间:2024/06/03 12:50

C++忠告

并不是每一个C++语言特征都是必要的,在实际应用中养成良好的编程规范能够减少开发以及维护中的问题。

  1. 请特别关注程序设计技术,而不是各种语言特征。
  2. 将局部命名空间全部引入到全局命名空间中,不是一个好的做法,即using namespace xx不推荐直接使用
  3. 不要重复造轮子,充分利用已有资源,但是要去理解并且清楚是如何实现的。
  4. 如果标准库能够满足需求,尽量使用标准库中的算法、容器等。
  5. 不要认为任何情况下标准库都是最理想的。
  6. 变量在定义的地方进行初始化
  7. 确保进行安全的类型转换,不进行非安全的类型转换:浮点向整型转换或者大类型向小类型转换
  8. 参数的传递一般使用const T&的形式,避免局部变量的拷贝操作,其他情况使用*p
  9. 不要过分依赖运算符的优先级,尽量通过加括号的方式确定优先级
  10. 声明对象时加上std::nothrow选项,出现内存不足时会返回一个空指针
  11. 避免使用强制类型转换
  12. 尽量不使用宏,除非你必须使用
  13. 自己的代码尽量放在自己的命名空间下,设置方法为源码所在的绝对路径。
  14. 尽量不用异常,在程序中处理所有边界。
  15. 尽量采用初始化成员列表的方式初始化成员
  16. 如果类里面有指针或者引用类型,应特别注意类型的赋值,如果需要赋值则需要考虑深浅复制的问题。
  17. 临时对象会在创建完整表达式之后销毁,不要依赖临时对象。
  18. 对于不需要拷贝或者赋值的对象,尽量禁用赋值运算符和复制构造函数。
  19. 如果某类接受一个参数的构造函数时,应通过explicit方式显示声明,防止隐式转换
  20. 对于大型的C++对象应该尽量避免对象的复制,特别是临时对象的产生,尽量采用引用或者指针进行避免
  21. 考虑使用()作为多维数据的下标
  22. 一般成员函数重名的话会进行覆盖,虚函数会实现多态
  23. 实际程序设计时尽量隔离变化部分,抽象不变的部分。
  24. 尽量处理代码中的所有问题,尽量不使用异常
原创粉丝点击