C++编程规范
函数的参数
- 输入使用const T&, 输出使用指针
函数的返回类型
- 如果返回引用, 则返回的对象应该是属性, 因为这个涉及到了生命周期
- 尽量不返回, 而是通过参数列表中的输出指针返回
对象的属性
- 定义对象的数量, 一般不定义指针(在设计vector之类的容器的时候则需要指针), 一般定义直接是一个对象
构造方法
- 不使用explicit修改
- 使用virtual修饰析构函数
关于操作符重载类内实现与全局实现的区别
- 首先, 他们的声明都是在class中的
- 其次, 他们调用的方式不同
- 如果是类内实现的话, 则在调用的时候就类似于obj.operator=()之类的
- 如果是全局实现的话, 则在调用的时候是通过寻找匹配的函数实现的, 操作符分析两边对象的类型, 将他们最为参数传递进去
- 使用STL的时候尽量时候操作符重载
- 自定义类的时候, 最好不要重载运算符和拷贝构造方法, 就默认的即可
定义const属性
- 如果是基本数据类型则可以直接写在声明的地方
- 如果是一个对象则值需要写在.cc文件中