std::string *str = new sd::string()ってつかうことあるの?
お久しぶりです。最底辺です。
std::string *str = new std::string()って記載をStack Overflowあたりで見つけたのですが、
これってどんな意味があるのでしょうね?
普通 std::stringは、内部にポインタのバッファを持っていてそいつをコピーしているらしいので
newする必要は無さそうな気がしますね。
解放するタイミングも厄介ですしね。
ただ、std::stringは内部で文字列を勝手にコピーして作る場合があり、その把握が大変みたいです。
ええ、最低辺なので当然よくわかりません!!
const char* const NAME = "小平次"; std::string str(NAME);
この場合なんてどうなんでしょうね?最底辺の私としては、恐らくコピーされているような気がしています。
まあ、出来る人からするとstd::stringは、mutableとimmutableが混在していたりするので、
だめな作りらしいですね。
では。
ディスカッション
コメント一覧
まだ、コメントがありません