人々は通常、大きなオブジェクトのリストをコピーすることをどのように管理していますか?
これが私の状況です:
現在、私はこれを持っています:
typedef std::vector<float> Image;
そして、私はそれを
std::list<Image> lst;
Image.size() は非常に大きいです (それぞれが 3 ~ 5 MB です)。
リストを渡します (コピーします)。
std::vector が各要素を値でコピーするという私の理解は正しいですか? もしそうなら、コピーが多すぎてパフォーマンスが少しひどいのではないでしょうか?
コピーを最小限に抑えるにはどうすればよいですか? 代わりに保存する必要がありますか
std::list<ImageRef> lst;
どこ
typedef boost::shared_ptr<Image> ImageRef;
?
この種の問題を処理するエレガントな方法は何ですか?