std::string &func(int vlu)
{
std::string str;
str = std::to_string(vlu) + "something";
return str;
}
вышеуказанная функция явно небезопасна.
Ниже приводится другая версия.
std::string &func(int vlu)
{
return std::to_string(vlu) + "something";
}
У меня есть несколько вопросов:
Компилятор (GCC), во второй версии, не дает мне никакого предупреждения. Это безопасно?
Я просто думаю, что компилятор (или что-то?) Создаст временную переменную для хранения выражения std::to_string(vlu) + "something"
. Так что вторая версия тоже небезопасна. и я прав?