Я как раз собирал один из наших проектов на работе и вижу, что была добавлена новая функция:
const std::string& ClassName::MethodName() const
{
return "";
}
Компилятор выдает предупреждение:
Предупреждение C4172: возвращаемый адрес локальной переменной или временной
Думаю, компилятор прав. Насколько безопасна эта функция?
Обратите внимание, что функция не возвращает const char *
, что было бы нормально, поскольку строковые литералы имеют статическую продолжительность хранения. Он возвращает ссылку на const std :: string