У меня есть метод, который возвращает указатель константы char. Он использует std::string
и, наконец, возвращает указатель c_str()
char.
const char * returnCharPtr()
{
std::string someString;
// some processing!.
return someString.c_str();
}
У меня есть сообщение от инструмента "СКОРОСТЬ", что вышеприведенное не является хорошим использованием. Я googled и обнаружил, что вернувшийся указатель char был бы признан недействительным, как только someString
встретит его уничтожение.
Учитывая это, как решить эту проблему? Как правильно вернуть указатель char?
Возврат std::string
разрешит эту проблему. Но я хочу знать, есть ли другие способы сделать это.