>>417 arrayとかstringとかのライブラリを作って勉強しているので、
getterのような関数ばっか書いててこう思ったのです。

>>416 関数が複雑になったときはそうしようと思いますが、
最適化に影響がでないでしょうか?

int &operator[](int t){return (int&)((const array&)*this)[t]);}
const int &operator[](int t)const{return p[t];}
こうすると、constによる最適化には影響ない?

int &operator[](int t){return p[t];}
const int &operator[](int t)const{return ((array&)*this)[t];}
こうすると、constによる最適化がなされない可能性がある?

>>418
> operator const T()const{return v;}
intを例に書きましたが、汎用性を持たせると、やはり参照を返したくなってラビリンスでした。
といはいえ、1つ作れば良いので、この方法を検討してみます。

ありがとうございました。