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


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所有受保护乘员和私有成员的权限。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值