사람들은 대개 주위에 큰 물체 목록을 복사하는 것을 어떻게 관리합니까?C++ std :: list <> ..에 큰 데이터를 저장하면 참조 카운팅을 사용해야합니까?
typedef std::vector<float> Image;
와 나는 Image.size()가 매우 크고있는
std::list<Image> lst;
에 저장하고 있습니다 (각 :
가 현재 나는이있다 : 여기
내 상황입니다 ~ 3-5 MB).나는 목록을 전달 (복사 중)하고 있습니다.
std :: vector는 각 요소를 값으로 복사합니다. 그렇다면 과도한 복사로 인해 약간의 성능이 저하 될 수 있습니다.
복사를 최소화하려면 어떻게해야합니까? 내가 대신
std::list<ImageRef> lst;
typedef boost::shared_ptr<Image> ImageRef;
를 저장해야 하는가?
이런 종류의 문제를 처리하는 우아한 방법은 무엇입니까?
나는 당신이 당신의 자신의 질문에 대답했다고 생각합니다. 문제를 다루기위한 멋진 우아한 방법을 제공합니다. shared_ptr <> 기술은 거의 확실한 방법입니다. –