通知
すべてクリア
Topic starter
2001年3月23日 8:07 PM
もう一つ質問です。
STL の vector などに オブジェクトを格納したい場合、
オブジェクト自身を入れるのと、そのポインタを入れるのと
どちらが良いのでしょうか?
Topic starter
2001年3月23日 8:17 PM
補足です。
格納しようとしているのは、stl の string と 自作のオブジェクトです。
2001年3月24日 11:24 PM
std::basic_stringは、javaのクラスと同じように実体を別に持っていて、
コピーコンストラクタや代入演算子でコピーした場合には、参照カウンタを
インクリメントするだけで実際のデータはコピーされません。
このことから、std::basic_stringをstd::vectorの要素にするときには、
オブジェクト自身を入れた方が効率がよいのではないでしょうか?
ポインタで持たせた場合は、std::vectorのインスタンスが破壊される前に
確実にdeleteしないといけないので間違いが起こる大きな要因になります。
Topic starter
2001年3月28日 6:40 PM
レスが遅れましたがとても良く分かりました。
ありがとうございました。