Вопрос наверно очень простой, но я немного в замешательстве.
Есть простая функция std::string getString(). Внутри которой формируется локальная переменная std::string и возвращается из нее.
Она вызывается в коде очень часто и как правило вызывается в аргументах другой функции.
Например
void someFunction(getString())
Но someFunction принимает const char*
Как правильно передавать возвращаемое значение getString?
const std::string str = getString();
someFunction(str.c_str());
Или можно сразу вызвать у функции c_str()?
someFunction(getString().c_str());
Если вызвать у функции c_str в аргументах функции, не получится ли UB? Так как локальная переменная будет удалена после того как возврaщена из getString.