Comment Comment by TheCoelacanth In C++, terms void f(Foo x); // pass-by-value void f(Foo* x); // pass-pointer-by-value void f(Foo& x); // pass-by-reference In the last example, you aren't passing in a value, you are essentially creating an alias for some variable in the calling scope. parent TheCoelacanth 8 years ago