eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingOpowiadanie o GC › Re: Opowiadanie o GC
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
    -for-mail
    From: Krzysiek Kowaliczek <k...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Opowiadanie o GC
    Date: Mon, 27 Jul 2009 12:11:52 +0200
    Organization: http://onet.pl
    Lines: 57
    Message-ID: <h4juf7$bb7$1@news.onet.pl>
    References: <2...@w...googlegroups.com>
    <h4jtbm$ies$1@mx1.internetia.pl>
    NNTP-Posting-Host: krak.alatek.krakow.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1248689447 11623 217.96.2.229 (27 Jul 2009 10:10:47 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Mon, 27 Jul 2009 10:10:47 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.2pre)
    Gecko/20070111 SeaMonkey/1.1
    In-Reply-To: <h4jtbm$ies$1@mx1.internetia.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:182807
    [ ukryj 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: