俺は前にこれでやらかしたことがあるぜ
vectorの内部バッファが大きくなるとポインタが無効になる

std:: vector<Hoge> list;

Hoge* add(Hoge &obj)
{
list += obj;
Hoge* last = &list[ list.size()-1 ];
return last;
}