人们通常如何管理复制大型对象列表?
这是我的情况:
目前我有这个:
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;
?
处理此类问题的优雅方式是什么?