>>251
operator [] の戻り値を参照型じゃなくて値型にしていれば
そういった状態にはならない。

配列クラスへのポインタとインデックスの組み合わせを持った
プロキシオブジェクトを返すことでも解決できるかもしれない。