toStringでインスタンスの中身書き換えられたり、constと非constで挙動が違うってのも困るから、
const string toString() がいいとおもう。
>>762 に関しては ref 使えばいいのでは?