Mam kod, w którym rutynowo wypełniam wektor od 0 do 5000 elementów. Wiem, że nigdy nie przekracza maksymalnej 5000. Zamiast inicjowania wektor wiele razy, chciałbym to zrobić tylko razC++ najszybszy sposób wyczyszczenia lub usunięcia wektora
vector<struct> myvector;
myvector.reserve(5000);
Jednak, aby ponownie napełnić wektor, muszę najpierw wyczyścić wektor bez zmiany jego pojemności. Zwykle nazywam się myvector.clear();
To jest operacja O (n). Czy jest coś prostego, co mogę zrobić, aby zwiększyć wydajność tego produktu lub czy jest on najlepszy z możliwych?
Czy przypisywanie do istniejących elementów jest rozsądnym rozwiązaniem? –
Nie, ponieważ mogę mieć 5000 elementów za pierwszym razem i 3500 następnym razem, a na końcu pozostanie 1500 starych elementów ... – user788171
Czy "zniszczenie" elementów jest problemem? –