Правилен ли следующий код (func1()), если он должен вернуть i? Я помню, где-то читал, что возникает проблема при возврате ссылки на локальную переменную. Чем он отличается от func2()?
int& func1()
{
int i;
i = 1;
return i;
}
int* func2()
{
int* p;
p = new int;
*p = 1;
return p;
}