Что происходит в этом коде:
const char * returnCharPtr()
{
std::string someString("something");
return someString.c_str();
}
std::string
создан - это объект с автоматическим временем хранения someString
разрушен и внутренняя память очищена Лучшее решение: возвращает объект :
std::string returnString()
{
std::string someString("something");
return someString;
}