如何将std :: string指针转换为std :: string

时间:2013-09-21 11:59:46

标签: c++ pointers

我有std :: string指针,我喜欢将其值复制到普通的std :: string 我找不到快速而快速的方法来做到这一点。 我有这个:

int main ()
{
   std::string * pStr = new std::string("hello") 
    std::string strNew = pStr->??? // how to convert ?


  return 0;
}  

2 个答案:

答案 0 :(得分:5)

解除引用:

std::string strNew = *pStr;

答案 1 :(得分:3)

两种方式:

std::string strNew = pStr->c_str(); // Be careful of `\0` with in the string

std::string strNew = *pStr;

第二个更好,因为C风格的字符串不能正确表示std :: string。它首先结束一个字符串\0并忽略尾随。