delete a vector

0

Witam
Czy jest możliwość usunięcia pojedynczego elementu vektora po przez

Kopiuj
delete

?

Kamil9132
  • Rejestracja:około 14 lat
  • Ostatnio:prawie 4 lata
  • Postów:173
0

Do usuwania elementów vectora użyj funkcji erase:
http://www.cplusplus.com/reference/vector/vector/erase/

0

Nie o to chodzi miałem dzisiaj test przed rozmową kwalifikacyjną i był on wielokrotnego wyboru i podobno w ten sposób też można, więc jestem ciekawy po prostu

PR
  • Rejestracja:około 11 lat
  • Ostatnio:11 dni
  • Lokalizacja:Pomorskie (Stare Kabaty)
0

Można, ale nie jestem pewien czy jest to poprawne.

edytowany 1x, ostatnio: Proxima
gośćabc
  • Rejestracja:około 11 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Szczecin
  • Postów:500
1

jest, jeżeli alokowałeś elementy dynamicznie (tylko przez new), ale o poprawności takiego stosowania nie będę się wypowiadał

Kopiuj
#include <iostream>
#include <vector>

int main()
{
    std::vector<int*> v { new int(1), new int(2) };

    for(auto const& e : v) {
        std::cout << *e;
    }    
    
    for(auto const& e : v) {
        delete e;
    }
    
    return 0;
}

http://melpon.org/wandbox/permlink/epT8GNzCxxD29Zbp

edytowany 1x, ostatnio: gośćabc
spartanPAGE
  • Rejestracja:około 12 lat
  • Ostatnio:około 7 godzin
1

Można zwolnić pamięć trzymaną przez element wektora.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.