C++参数传递分为两种:pass-by-value和pass-by-reference。
二者适合不同的场合,在数据为只读的情况下讨论如下:
1、对于内置类型,比如int,pass-by-value更高效;
2、对于自定义类型,比如class,pass-by-reference-const更好,因为class有构造函数和析构函数,按值传递,需要构造一个对象的副本,传递的是对象的一个副本,需要耗费时间;
3、对于模板,不知道传递的是什么类型的对象,所以也最好用pass-by-reference-const;
4、STL中的iterator和function,是在C指针的基础上构造的,则使用paas-by-value更合适。