C++编程建议、原则和理念——C++用法

来源:互联网 发布:qq软件群 编辑:程序博客网 时间:2024/06/05 20:09


1.考虑在只带有一个参数的构造函数的声明前使用explicit关键字。(explicit关键字用于阻止隐式转换)

2.保证API的const正确性。  

      方法的const正确性:const方法不能修改累的任何成员变量。本质上,const方法内的所有成员变量都当作const变量。将函数声明为const主要有两大好处:(1)表明该方法不会修改对象状态这一事实。(2)运行将该方法用于对象的const版本。非const方法不能用于const对象。

     尽可能早的将函数和参数声明为cosnt。过后修正API中的const正确性会即耗时又麻烦。

     参数的const正确性: 当向const函数传入引用或指针时,也要考虑参数是否可以声明为const

     返回值的const正确性:首选传值方式而不是引用方式返回函数的结果。

3.如果类分配了资源,则应该遵循“三大件”规则,同时定义析构函数、复制构造函数和赋值操作符。

4.尽量在可行的地方为输入参数使用const引用,而非指针。对于输出参数,考虑使用指针而不是非const引用,以便显示地向客户表明他们可能被修改。

5.当默认值会暴露实现中的常量时,尽量选择函数重载,而不是默认参数。

6.使用静态const数据成员而非#define表示类常量。

7.避免使用友元。它往往预示着糟糕的设计,这就等于赋予用户访问API所有受保护乘员和私有成员的权限。

0 1