条款20:在传递对象的时候尽量用reference-to-constent来代替,pass-by-value

注意一下,c++的底层编译器而言,引用类型往往都是由指针来实现出来的,所以pass-by-reference实际意义上往往是传递了一个指针,这对于c++的内置类型来说往往传递一个reference更加昂贵一点。但是这不能成为对所有的小对象不使用pass-by-reference的理由。

小结:

1. 尽量用pass-by-reference-to-const来代替pass-by-value,这样做不仅效率上更高,而且还可以避免切割问题

2. 这些规则不适用与内置类型、STL的迭代器还有函数对象,对这几种来说pass-by-value还是比较恰当的。

原文地址:https://www.cnblogs.com/-wang-cheng/p/4857732.html