2

私は std::string ポインターを持っており、その値を通常の std::string にコピーしたいのですが、それを行うための迅速かつ迅速な方法が見つかりません。私はこれを持っています:

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


  return 0;
}  
4

2 に答える 2

6

逆参照:

std::string strNew = *pStr;
于 2013-09-21T12:10:59.313 に答える
4

ふたつのやり方:

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

また

std::string strNew = *pStr;

C スタイルの文字列は std::string を正しく表すことができないため、2 番目の方が適しています。最初に文字列を終了し、\0末尾を無視します。

于 2013-09-21T12:15:24.637 に答える