Cześć, w moim programie mam dwa wektory przechowujące wskaźniki inteligentne do elementów klasy A.
std::vector<std::unique_ptr<A>> wektor1;
std::vector<std::unique_ptr<A>> wektor2;
Załóżmy, że wektor1 ma dziesięć elementów, a wektor2 jest pusty. Jak mógłbym przenieść np. wektor1[5] do wektor2[0]? Z tego co wiem, tych wartości nie można kopiować
Próbowałem robić to w poniższy sposób, ale nie działa.
wektor2[0] = move(wektor1[5]);
lub
(werkor1[0]).swap(wektor2[0]);
Próbowałem też korzystać z swap. Ogólnie program się kompiluje, ale podczas działania programu, gdy dochodzimy do tego etapu kodu, program się wywala.