这部分主要分析函数(其实,操作符也可以视为函数)的使用上的陷阱及其避免的方法
第25条 正确第选择通过值,(智能)指针或者引用传递参数
对于只输入参数:
(1)始终使用const 限制所有指向只输入参数的指针和引用
(2)优先通过值来取得原始类型和复制开销比较低对象的输入
(3)优先按const的引用取得其他用户类型定义的输入
(4)如果函数需要其参数的副本,则可以考虑通过值传递代替通过引用传递
对于输出参数或者输入参数:
(1)如果参数是可选的,或者函数需要保留这个指针的副本或者操控参数的所有权,优先使用指针(智能)
(2)如果参数是必须的,且函数无需保存指向参数的指针,或者无需控制其所有权,那么优先通过引用传递。
第26条 保持重载操作符的自然语义
第27条 优先使用算术操作符和赋值操作符的标准形式
第28条 优先使用++和--的标准形式。优先调用前缀形式
第29条 考虑重载以避免隐含类型转换
第30条避免重载&&, ||或者,
第31条 不要编写依赖于函数参数求值顺序的代码