この記述ってセーフですか?
const hoge& func(const hoge& a)
{
return a;
}

void func2()
{
const hoge& a=func(hoge());
a.func3(); ///ここで、上の行のhoge()一時オブジェクトの参照はセーフ?
}