一些良好的编程习惯

Aki 发布于 2022-12-07 251 次阅读


  1. 使用nullptr代替宏定义的NULL和0。nullptr是一个指针类型,而宏定义的NULL和0可能被隐式转换成其他类型。使用nullptr可以避免这类隐式转换造成的问题。
  2. 使用强制类型转换运算符(static_cast,const_cast,dynamic_cast和reinterpret_cast)代替C-style强制类型转换。这些运算符可以使代码更加易读,并且在编译期间检测错误,而C-style强制类型转换只会在运行时检测错误。
  3. 使用const关键字避免修改不必要的变量。const修饰的变量在编译期间就会被检测,如果试图修改const变量,编译器会报错。这样可以避免不必要的错误。
  4. 使用explicit关键字避免隐式类型转换。如果一个构造函数有一个参数,且被声明为explicit,则该构造函数只能用来显式地进行类型转换,不能进行隐式类型转换。
  5. 尽量使用RAII(资源获取即初始化)原则管理资源。RAII原则规定,获取资源的操作应该在对象构造函数中进行,释放资源的操作在对象的析构函数中进行。例如智慧指针是RAII类型。