Could you say me is that code fully correctly?

A Fun()
{
A a = 0;
return a;
}

const A& a = Fun();
A b = a;