When to use references as parameters in C++
Possible Duplicate:
What's the difference between passing by reference vs. passing by value?
If I have a function that takes in some parameters and then does something with the parameters without needing to change their inherent value, is there any benefit from using pass by reference versus pass by value?
Yes. Passing by value copies the argument, which might be very expensive (or not even possible). If you want to pass by reference, but not modify the object, pass by const
-reference.
As an example of an object that cannot be passed by value:
class Foo {
public:
Foo() {}
private:
Foo(const Foo&); // copy-constructor is not accessible
}
Here is the general guide:
const
reference when you have 上一篇: C ++通过引用或按值传递?
下一篇: 何时将引用用作C ++中的参数