忘れやすいオーバーロードメモ。

struct HogeInfoHolder
{
HogeInfo* _p;

HogeInfoHolder(HogeInfo* p) : _p(p) {}
~HogeInfoHolder()
{
delete _p;
}

// 間接参照演算子オーバーロード
HogeInfo& operator * () {
return *_p;
}

const HogeInfo& operator * () const {
return *_p;
}

// アロー演算子オーバーロード
HogeInfo* operator -> () {
return _p;
}

const HogeInfo* operator -> () const {
return _p;
}
};

constな方はこの書き方で良かったっけかな。ダメかも。
めんどくて試してないです〜@職場なので。
気が向いたら試します。