STL stinrg lifetime

  • 546
  • 0

摘要:STL stinrg lifetime

std::string AA()
{
   std::string bb = "cc";

   return bb;
}
void  BB()
{
     const char*l_str = AA().c_str();         //wrong,string destruction  is called,then data is not right
     char  ABC[260];
    sprintf(ABC,"%s",AA().c_str());          //right,because destruction call is aftter sprintf
    std::string  BB = AA();                         //right
}