Ok. Thanks. It's just that when I look at the argument passing, I look at the actual object passed. Not at the referent.

The string is never passed. The address of the string is. And it is passed by value, according to the rules of how pointer parameters are initialized. I never thought of looking at it from the referent perspective.