[C++] Usunięcie konkretnego elementu tablicy pomniejszające jej wielkość (STL, std::vector)
Ostatnio zmodyfikowano 2016-02-02 23:35
kmlkamilek Temat założony przez niniejszego użytkownika |
[C++] Usunięcie konkretnego elementu tablicy pomniejszające jej wielkość (STL, std::vector) » 2016-02-02 23:18:15 W kontenerze tablicy dynamicznej wrzucając elementy metodą push_back(), albo wyciągając pop_back(), zwiększamy, lub zmniejszamy jej wielkość. Jednak te metody mają pewne ograniczenie. Metodą pop_back() możemy wyciągnąć ostatnio włożony element. Czy jest wykonalne, aby usunąć wybrany przez programistę element i jednoczesne pomniejszenie wielkości tablicy?
Do czego mi jest to potrzebne: W tablicy chcę przechowywać wektory przesunięć pocisków wystrzeliwanych przez gracza. Pozycja będzie przeliczana w locie, a przechowywanie pozycji początkowej pocisku nie jest konieczne, bo dla każdego będzie ta sama. Wektor miałby być usuwany, jeśli pocisk trafiłby do końca planszy, lub trafił w przeciwnika. Jednak zależnie od wektora, pociski mogłyby docierać do przeszkody w różnym tempie, więc nie zawsze wcześniej wystrzelony pocisk, doleciałby jako pierwszy. Pociski, które by spełniły swoje zadanie, chciałbym usuwać z tablicy, ale jednocześnie zmniejszając tablicę.
Czy takie coś jest wykonywalne? |
|
pekfos |
» 2016-02-02 23:33:01 Metoda erase(). |
|
kmlkamilek Temat założony przez niniejszego użytkownika |
» 2016-02-02 23:35:49 Znowu przeoczyłem coś w dokumentacji. Dowiedziałem się tego czego chciałem. Dziękuję. Zamykam. |
|
« 1 » |