If you really need to change the contents of a parameter, the pointer should be used, not the C++ reference.
This was a little surprising to me, but I like it.