C 通过参考传递

C++ passing by reference

本文关键字:参考      更新时间:2023-10-16

如果要将一个大对象传递给函数,例如包含大数组的类,那么通过参考传递总是更好吗?这个想法是构建功能:

template<class T> double foo(T& t){...}

第一篇文章之后的增加:如果我希望该函数不修改,我将使用const参考。

然后,我可以通过将对象传递到它来调用函数:

T large_data = T(1000000);
f(large_data);

这是通过参考将对象传递到函数的基本思想(使用const用于不变的对象):您不想传递基础(大量)数据,而您不想传递不想要指针的混乱(内存管理问题,->和DEREFERCE)。

通常在每种自定义类型的C 中最好通过参考或指针传递。否则,除了性能外,如果您的对象需要自定义复制构造函数(并且您可能没有实现它,但是生成的编译器只能进行浅副本)。另外,切片可能会发生,等等...