条款 20:宁以 pass-by-reference-to-const 替换 pass-by-value
Prefer pass-by-reference-to-const to pass-by-value.
- 以 const-reference 传参通常能省去很多拷贝构造、析构的成本
- 以 const-reference 传参能够避免 slicing(对象切割)问题。当一个 derived class 对象以 by value 方式传递并被视为一个 base class 对象,那么子类的特化部分会被切割掉
- 对于内置类型,以及 STL 的迭代器和函数对象,pass-by-value 通常个合适