eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCiekawy problem iteracyjnego zwalniania głębokiego drzewaRe: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa
  • Data: 2017-08-16 16:06:37
    Temat: Re: Ciekawy problem iteracyjnego zwalniania głębokiego drzewa
    Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Wednesday, August 16, 2017 at 3:46:41 PM UTC+2, Borneq wrote:
    > W dniu 16.08.2017 o 02:52, bartekltg pisze:
    > > unique_ptr<Node> root;
    > > while (i<vec.size()) {
    > > move(vec[i]->children.begin(),vec[i]->children.end()
    , std::back_inserter(vec) );
    > > cout<<"przenosiny dzieci "<<i<<": "<<vec[i]->data<<endl;
    > > i++;
    > > }
    >
    > a gdyby nie było unique_ptr? albo było shared_ptr?


    "A gdyby nie słoń?"

    Jakby zbudować drzewo inaczej, trzeba by zrobić jego kasowanie inaczej;-)
    Jak, zależy od tego, jak to drzewo budujesz. Co robić na gołych wskaźnikach
    masz w każdym podręczniku:)
    Chocby robisz recznie rekurencyjnie: w procedurze usuwania usuwasz
    dzieci, a potem to, na co wskazujesz. jest to odkładnie to, co automatycznie
    robi unique_ptr, wiec ma ten sam "problem" ze stosem/

    unique_ptr są o tyle lepsze, że kasowanie masz za darmo i ciezko
    zrobić wyciek, a nie dają nakładu
    Shared_ptr to liczenie referencji, do drzew niepotrzebnie i relatywnie
    kosztowne.

    pzdr
    bartekltg

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: