Je rencontre un problème bizarre et je veux savoir pourquoi il se comporte ainsi. J'ai une classe dans laquelle il y a une fonction membre qui retourne std::string
. Mon objectif est de convertir ce string
a const char*
J'ai donc fait ce qui suit
const char* c;
c = robot.pose_Str().c_str(); // is this safe??????
udp_slave.sendData(c);
Le problème, c'est que j'ai un personnage bizarre du côté du maître. Cependant, si je fais ce qui suit
const char* c;
std::string data(robot.pose_Str());
c = data.c_str();
udp_slave.sendData(c);
Je reçois ce que j'attends. Ma question est la suivante : quelle est la différence entre les deux méthodes susmentionnées ?