У меня возникла странная проблема, и я хочу знать, почему она ведет себя так. У меня есть класс, в котором есть функция-член, которая возвращает std::string
. Моя цель - преобразовать этот string
в const char*
, поэтому я сделал следующее
const char* c;
c = robot.pose_Str().c_str(); // is this safe??????
udp_slave.sendData(c);
Проблема в том, что я получаю странный персонаж на стороне мастера. Однако, если я сделаю следующее
const char* c;
std::string data(robot.pose_Str());
c = data.c_str();
udp_slave.sendData(c);
Я получаю то, что ожидаю. Мой вопрос в чем разница между двумя вышеупомянутыми методами?