Provided, I want to pass a modifiable parameter to a function, what should I choose: to pass it by pointer or to pass it by reference?
The difference here is relatively minor.
A reference cannot be NULL.
A nullpointer may be passed. Thus you can check if that happens and react accordingly.
I personally can't think of a real advantage of one of the two possibilities.