条款-20 宁以 pass-by-reference-to-const 替换 pass-by-value
总结一句话:在函数形参中 最好是 const + 引用,避免构造和析构带来的时间、空间消耗。
Remember:
1- 尽量以 pass-by-reference-to-const 替换 pass-by-value。
前者通常比较高效,并可避免切割问题(slicing problem)
2- 以上规则并不适用于内置类型,以及 STL 的迭代器和函数对象。
对它们而言 pass-by-value 往往比较适当。
p.s. 虚函数:
主要功能:实现多态。让父类指针能对子类指针进行操作。
eg.
//写法: A为类,fun1、fun2是函数
bool fun1(A s); 会无法避免的进行一些构造和析构动作。
bool fun2(const A &s); //这样就可以很好的避免多余的动作