decide if you really need to confine yourself to passing a reference because most of the time you are just shooting yourself in the foot
Also I guess passing out memory that was dynamically allocated is for some godforsaken reason, a leak, even if it gets deleted in an appropriate place