Не будет ли указатель, возвращаемый следующей функцией недоступным?
char *foo( int rc ) 
{
    switch (rc) 
    {
      case 1:           return("one");
      case 2:           return("two");
      default:           return("whatever");
    }
}
Итак, время жизни локальной переменной в C/С++ практически только внутри функции, правильно? Что означает, что после завершения char* foo(int) указатель, который он возвращает, больше ничего не значит?
Я немного запутался в жизни локального var. Может ли кто-нибудь дать мне хорошее разъяснение?