double*&型 | spin on the RITZ

double*&型

Yamamoto's Laboratory

先ほど記事に書いたMatrixクラスの話の続きなんですが、上のリンク先でMatrixクラスが見られます。
どんな風に実装したのかな~なんて思いつつ見ていたんですが、添え字演算子のオーバーロードで
double* &operator[](int i){ return(p_top[i]); }
(p_topはdouble**型、コンストラクタでメモリ確保している)

なんていう書かれ方をしているんですが、これがどうにもわからないorz

double*&型って・・・・・・・何?
参照型のポインタってことでいいのかしら?


上記リンクのようにMatrixクラスオブジェクトAを宣言したとして

A[0][1]








・・・・・・・・・・・・・・あ!
最初の[0]がオーバーロードされた添え字演算子で、そのあとの[1]は元々の添え字演算子ってことか!?
まずp_top[0]が返ってきて、それに[1]が合体!ってことでいいのか!?



・・・・・・・・・・・・・・別にoperatorの前の&要らなくね?
試しに&消してみたけど、普通に動くよ。



・・・・・・・・・・・・・・ワカラナス(´・ω・`)