Ogólnie rzecz biorąc, niekoniecznie. Po przypisaniu jednego wektora do drugiego warunkiem post jest to, że obie tablice będą zawierały obiekty równoważne po zakończeniu operacji.
Jeśli capacity
z docelowym wektora jest wystarczająco, operacja może być osiągnięte poprzez wywołanie operatora przypisania na planie min(v1.size(), v2.size())
elementów, a następnie albo destructing resztę elementów, jeżeli docelowy wektor odbyła więcej elementów, lub też kopiowanie-konstruowanie dodatkowych elementów na końcu. W takim przypadku nie zostanie wydane żadne zwolnienie lub alokacja pamięci.
Jeśli wektor docelowy nie ma wystarczającej pojemności, to utworzy nowy bufor o wystarczającej pojemności i kopiować-konstruować elementy w nowym buforze z wektora źródłowego. Następnie zamieni stare i nowe bufory, zniszczy wszystkie stare obiekty i zwolni stary bufor. W tym przypadku stare obiekty zostały zniszczone i stare pamięci zostały zwolnione, ale jest to tylko jeden przypadek.
Tak, to jest uwolnione. – tuxuday