8#8
9#9
Or even worse:
10#10
This is simply evil to construct a function in this manner. It is not
implied from the calling perspective of the function (other than the
name of the function) that the object passed will be modified and in
this case the name does not imply anything. An exception is something
like getNext(int &nPos), where the name of the function hints
to the action taken on the object. In this case it is acceptable (but
not recommended) to use a non-const reference.