eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingOpowiadanie o GCRe: Opowiadanie o GC
  • Data: 2009-07-27 10:11:52
    Temat: Re: Opowiadanie o GC
    Od: Krzysiek Kowaliczek <k...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Michal Kleczek wrote:
    > Maciej Sobczak wrote:
    >
    > [ciach]
    >> W C++ typ Item ma destruktor, który wyrejestrowuje swoje id z mapy.
    >> Dzięki temu, jeśli program "porzuci" jakiś obiekt Item (przez co nie
    >> może już go obserwować i reagować na zmiany jego stanu), to
    >> odpowiadający mu wpis w mapie jest natychmiast wyrzucany.
    >
    > Moglbys pokazac kod w C++ ktory to robi bez uzycia jakichs smart pointerow
    > zliczajacych referencje? Bo ja nie bardzo to widze (ale specem nie
    > jestem) - chyba ze wszystkie obiekty Item o tym samym id sa rownowazne -
    > tyle ze wtedy nie jest potrzebna zadna mapa.
    >

    np.:
    struct Item
    {
    ~Item ()
    {
    mapa::releaseId ( id_ );
    }

    Item ()
    {
    id_ = mapa::getId ();
    }

    int id_;

    };

    for (...)
    {
    Item item;
    }

    >> W
    >> szczególności, jeśli program używa obiektów Item w takiej pętli:
    >>
    >> for (...)
    >> {
    >> Item it;
    >> // ...
    >> }
    >>
    >> to w efekcie mapa nigdy nie ma więcej, niż 1 wpis. Zużycie pamięci
    >> jest wtedy *stałe* (albo ma znaną górną granicę) - dotyczy to również
    >> bardziej złożonych, ale nadal cyklicznych układów.
    >
    > Nie widze w powyzszym przykladzie mapy ani pobierania obiektow Item z tejze.
    >

    j.w.

    Pozdrawiam
    KK

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: