Quote:
Originally posted by Sam Hobbs
In other languages, when an item is passed "by reference", it is modifiable. If it is not modifiable, it is passed "by value". The modifyability of a parameter is the inherent destinction that defines the terms.
...
Again, the terms "by value" and "by reference" are intended to differentiate non-modifiable and modifiable parameters (respectively), yet in C++ many parameters that are not references are often considered to be modifiable.
No...passing by reference does not mean that the parameter is modifiable. References can allow the parameter being changed or not. At least, if the term 'reference' is used in regard to the mechanism itself instead of a description of the general mechanism of passing arguments...